Pandas 带日期的数据操作

Pandas data manipulation with date

我有两个df,我想在一个基础上操作一个。我的 df1 看起来像这样 日期格式为 mm-dd-yyyy

Date col_1 col_2 col_3 = col_2/col_1
01/01/2021 100 110 1.1
02/01/2021 110 110 1
03/01/2021 120 132 1.1
04/01/2021 100 120 1.2

现在我的另一个数据框看起来像这样

Date col_1 col_2
01/01/2021 A 110
01/01/2021 B 110
01/01/2021 C 132
01/01/2021 D 120
02/01/2021 A 110
02/01/2021 B 110
02/01/2021 C 132
03/01/2021 D 120

现在我想按日期将 df1 的“col_3”乘以 df2 的“col_2”。请帮忙

我试过了

def (df1,df2,ind) #ind is integer for month
    df2['col_2'] = df2['col_2'] * df1['col_3'].iloc(ind-1)
    return df2

我想要的输出看起来像

Date col_1 col_2
01/01/2021 A 121
01/01/2021 B 121
01/01/2021 C 145.2
01/01/2021 D 132
02/01/2021 A 110
02/01/2021 B 110
02/01/2021 C 132
03/01/2021 D 132

IIUC,使用 Date 列作为两个数据帧的索引,然后应用您的操作:

df2['col_3'] = df2.set_index('Date')['col_2'] \
                  .mul(df1.set_index('Date').reindex(df2['Date'])['col_3']).values
print(df2)

# Output
         Date col_1  col_2  col_3
0  01/01/2021     A    110  121.0
1  01/01/2021     B    110  121.0
2  01/01/2021     C    132  145.2
3  01/01/2021     D    120  132.0
4  02/01/2021     A    110  110.0
5  02/01/2021     B    110  110.0
6  02/01/2021     C    132  132.0
7  03/01/2021     D    120  132.0