Pandas如何正确地在datetime列上进行外部合并

时间:2017-12-16 04:11:06

标签: python pandas datetime

我有两个数据帧:

resetted.head()
WeightedSentiment   Popularity  Datetime
0   0   2   2012-11-22 11:00:00
1   0   2   2012-11-22 11:30:00
2   0   4   2012-11-22 12:00:00
3   0   2   2012-11-22 15:00:00
4   0   2   2012-11-22 15:30:00

prices.head()
Open    High    Low     Close   Volume  Datetime
46623   236.9392    238.6095    236.5392    238.2094    315177  2012-11-23 10:00:00
46624   238.1894    238.3095    236.7492    237.4993    122132  2012-11-23 10:30:00
46625   237.4793    238.2595    237.1393    238.2094    144457  2012-11-23 11:00:00
46626   238.2094    238.9196    238.1694    238.7695    131733  2012-11-23 11:30:00
46627   238.7695    239.1396    237.9394    238.9496    150386  2012-11-23 12:00:00

我尝试外连接这两个数据帧,但是通过使用 pd.merge(prices,resetted,how='outer',on='Datetime') 结果很奇怪,似乎错了:

Open    High    Low     Close   Volume  Datetime    WeightedSentiment   Popularity
0   236.9392    238.6095    236.5392    238.2094    315177.0    2012-11-23 10:00:00     0.0     20.0
1   238.1894    238.3095    236.7492    237.4993    122132.0    2012-11-23 10:30:00     0.0     12.0
2   237.4793    238.2595    237.1393    238.2094    144457.0    2012-11-23 11:00:00     0.0     12.0
3   238.2094    238.9196    238.1694    238.7695    131733.0    2012-11-23 11:30:00     0.0     2.0
4   238.7695    239.1396    237.9394    238.9496    150386.0    2012-11-23 12:00:00     0.0     12.0
5   238.7995    242.0301    238.0394    241.5900    1183601.0   2012-11-23 12:30:00     0.0     16.0

如果我在合并函数中交换两个数据帧的位置,则会按预期在头部存在NaN,但其他行是错误的。我在github上设置了一个演示笔记本。

我在pandas 0.21.0

0 个答案:

没有答案