我有两个数据框,如下所示:
df1:
DATE Value1 Value2
04.01.05 2.754 2.757
05.01.05 2.7316 2.7505
06.01.05 2.7546 2.7568
07.01.05 2.7465 2.7525
10.01.05 2.7385 2.7415
11.01.05 2.7348 2.7388
12.01.05 2.7348 2.7388
13.01.05 2.7348 2.7388
14.01.05 2.7365 2.7435
17.01.05 2.7365 2.7435
18.01.05 2.7365 2.7435
19.01.05 2.7365 2.7435
df2:
DATE Value1 Value2
04.01.05 2.701 2.6995
05.01.05 2.7065 2.705
07.01.05 2.6348 2.6333
10.01.05 2.635 2.6315
11.01.05 2.6275 2.6265
12.01.05 2.6268 2.6253
13.01.05 2.6285 2.627
17.01.05 2.6565 2.6555
18.01.05 2.6275 2.626
19.01.05 2.643 2.6415
如果我有完全相同的日期,我下面的代码就可以工作。一旦日期不相等并且我只想计算相等的日期,它就不起作用。我的 if 语句不知何故没有过滤掉正确的日期。我想将计算值添加到 df1 中。
我的代码如下所示:
import pandas as pd
file1 = 'File1.csv'
file2 = 'File2.csv'
df1 = pd.read_csv(file1, sep=';')
df1['DATE'] = pd.to_datetime(df1.DATE)
df2 = pd.read_csv(file2, sep=';')
df2['DATE'] = pd.to_datetime(df2.DATE)
for date1 in df1['DATE']:
for date2 in df2['DATE']:
if date1 == date2:
print(date1, date2)
df1['sub'] = df1.Value1 - df2.Value1
print(df1)
预期输出如下:
DATE Value1 Value2 LEVEL sub
04.01.05 2.701 2.6995 1 Year 0.053
05.01.05 2.7065 2.705 1 Year 0.0251
07.01.05 2.6348 2.6333 1 Year 0.1117
10.01.05 2.635 2.6315 1 Year 0.1035
11.01.05 2.6275 2.6265 1 Year 0.1073
12.01.05 2.6268 2.6253 1 Year 0.108
13.01.05 2.6285 2.627 1 Year 0.1063
17.01.05 2.6565 2.6555 1 Year 0.08
18.01.05 2.6275 2.626 1 Year 0.109
19.01.05 2.643 2.6415 1 Year 0.0935
这意味着仅计算相同日期的差异。
红颜莎娜
HUH函数
相关分类