我想合并日期时间列上的两个数据帧数据类型日期-时间列包含相似和不同的值。但是我无法合并它们,所以所有唯一的日期时间行最终都在那里..NA在不常见的列中。 我在第二个数据帧的date\u time列中获取NAs。在R和python中都尝试过
df=pd.merge(df_met, df_so2, how='left', on='Date_Time')
df_2<-join(so2, met_km, type="inner")
df3 <- merge(so2, met_km, all = TRUE)
df_4 <- merge(so2, met_km, by.x = "Date_Time", by.y = "Date_Time")
X POC Datum Date_Time Date_GMT Sample.Measurement MDL
1 2 WGS84 2015-01-01 3:00 01/01/2015 09:00 2.3 0.2
2 2 WGS84 2015-01-01 4:00 01/01/2015 10:00 2.5 0.2
3 2 WGS84 2015-01-01 5:00 01/01/2015 11:00 2.1 0.2
4 2 WGS84 2015-01-01 6:00 01/01/2015 12:00 2.3 0.2
5 2 WGS84 2015-01-01 7:00 01/01/2015 13:00 1.1 0.2
X Date_Time air_temp_set_1 dew_point_temperature_set_1
1 2015-01-01 1:00 35.6 35.6
2 2015-01-01 2:00 35.6 35.6
3 2015-01-01 3:00 35.6 35.6
4 2015-01-01 4:00 33.8 33.8
5 2015-01-01 5:00 33.2 33.2
6 2015-01-01 6:00 33.8 33.8
7 2015-01-01 7:00 33.8 33.8
X POC Datum Date_Time Date_GMT Sample.Measurement MDL
1 1.0 2 WGS84 2015-01-01 3:00 01/01/2015 09:00 2.3 0.2
2 2.0 2 WGS84 2015-01-01 4:00 01/01/2015 10:00 2.5 0.2
3 NaN NaN 2015-01-01 1:00 NaN NaN NaN
4 NaN NaN 2015-01-01 2:00 NaN NaN NaN
df_exp = pd.merge(df_so2, df_met, on='Date_Time', how='outer')
我得到了:
注意事项:
df_met.info()
和df_so2.info()
并验证Date_Time
是non-null datetime64[ns]
df_so2.Date_Time = pd.to_datetime(df_so2.Date_Time)
df_met.Date_Time = pd.to_datetime(df_met.Date_Time)
在外部合并应该可以得到所有的结果:
outer
:使用来自两个帧的键的并集,类似于SQL完全外部连接;按字典顺序对键排序。你知道吗Expected Output
中显示的日期date
排序,请添加parameter
、sort=True
没有来自
的列df_met
:相关问题 更多 >
编程相关推荐