【发布时间】:2019-07-11 07:43:38
【问题描述】:
我目前正在尝试按各自的日期/时间列合并两个数据框。关于我的每个数据集的信息如下:
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)
这就是我的 mergedf 的样子:
如您所见,代码仅合并标题而不合并数据。由于我的一个日期从2011 开始,而我的一个日期从2006 开始,我想合并它们以使它们相交,这样我只有在它们的日期交叉时才开始获取数据,我该如何实现这个?
谢谢
【问题讨论】:
-
您是否验证了两个数据框中的日期是否相交?
-
是的,他们都跑到 2019 年
-
你也准时合并,你确定你的时间和日期都一样吗?
-
是的,非常确定。
-
是 DATE 对象/字符串类型吗?它们的格式不同,所以如果是,那可能就是问题所在。