[英]Merge two dataframes by respecting the values in specific columns
我有两个这样的数据框:
df1:
DayYear_Count Time
0
2018-03-26 00:00:00 84 00:00:00
2018-03-26 01:00:00 84 01:00:00
2018-03-26 02:00:00 84 02:00:00
2018-03-26 03:00:00 84 03:00:00
2018-03-26 04:00:00 84 04:00:00
df2:
Time Temp DayYear_Count
0 00:00:00 6.065167 84
1 01:00:00 5.692167 84
2 02:00:00 5.151917 84
3 03:00:00 4.636500 84
4 04:00:00 4.277417 84
我想将两个数据框合并为一个数据框,其中“Time”和“DayYear_Count”列重合。 所以我只会在这些位置的“温度”列中有值。 就像是:
DayYear_Count Time Temp
0
2018-03-26 00:00:00 84 00:00:00 6.065
2018-03-26 01:00:00 84 01:00:00 3.055
2018-03-26 02:00:00 84 02:00:00 "Nan"
我输入了随机值来给出这个想法。
使用左连接DataFrame.merge
并避免MultiIndex
将其转换为第0
列:
df1['Time'] = pd.to_datetime(df1['Time']).dt.time
df2['Time'] = pd.to_datetime(df2['Time']).dt.time
df1['DayYear_Count'] = df1['DayYear_Count'].astype(int)
df2['DayYear_Count'] = df2['DayYear_Count'].astype(int)
df = df1.reset_index().merge(df2, on=['DayYear_Count','Time'], how='left').set_index(0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.