我目前正在尝试通过各自的日期/时间列合并两个数据帧。有关我的每个数据集的信息如下:
data1.head(5)
DATE AA ... AB AB2
0 2011-01-01 00:30:00 6135.998518 ... 0.0 80.331500
1 2011-01-01 01:00:00 5711.638352 ... 0.0 74.380500
2 2011-01-01 01:30:00 5455.901902 ... 0.0 82.742500
3 2011-01-01 02:00:00 5130.634418 ... 0.0 102.091667
4 2011-01-01 02:30:00 4854.064390 ... 0.0 113.467667
[5 rows x 30 columns]
data2.head(5)
DATE A DEM A RRP ... AA7 RRP AB DEM AB RRP
0 2006/01/01 00:30:00 8013.27833 19.67 ... 36.00 5657.67500 20.03
1 2006/01/01 01:00:00 7726.89167 18.56 ... 33.00 5460.39500 18.66
2 2006/01/01 01:30:00 7372.85833 19.09 ... 33.01 5766.02500 20.38
3 2006/01/01 02:00:00 7071.83333 17.40 ... 33.02 5503.25167 18.59
4 2006/01/01 02:30:00 6865.44000 17.00 ... 33.00 5214.01500 17.53
[5 rows x 11 columns]
我正在尝试的代码如下
将numpy作为np导入 作为pd导入
data1=pd.read_csv("1.csv")
data2=pd.read_csv("2.csv")
mergeddf = pd.merge(data1[['DATE','AA','AA2','AB']],
data2[['DATE','A RRP']],on='DATE')
mergeddf.to_csv("out.csv",index=False)
这就是我的mergeddf的样子:
因此,正如您所看到的,代码只合并头,而不合并数据。因为我的一个日期从2011
开始,而我的一个日期从2006
开始,所以我想合并它们,使它们相交,这样我只在它们的日期交叉时才开始获取数据,我如何才能实现这一点
谢谢
日期列可能是object类型,因此不能在格式不同的日期(例如2006/01/01 vs 2006-01-01)联接。您需要将这些更改为datetime类型
相关问题 更多 >
编程相关推荐