python - 使用 Python 遍历与列匹配的日期
问题描述
解决方案
您可以从日期列中构建一个字符串,以获得正确的值:
df['DateFin'] = pd.to_datetime(df['DateFin'], dayfirst=True)
def my_date_string(date):
return 'b' + str(date.day) + '_T_M' + '{:02d}'.format(date.month)
df['Temperature'] = df.apply(lambda row:
row[my_date_string(row['DateFin'])]
if my_date_string(row['DateFin']) in df.columns
else '', axis=1)
print(df)
DateFin b1_T_M01 b2_T_M01 Temperature
0 2018-01-27 5.6 3.8
1 2018-01-06 5.6 4.2
2 2018-01-02 6.3 4.6 4.6
3 2018-01-01 3.2 5.9 3.2