[英]Concatenating pandas DataFrames with datetime columns
我正在尝试串联从SQL查询创建的两个DataFrame(称为firstData和lastData)。 但是,当我尝试将它们串联时,出现错误,提示TypeError: can't compare datetime.datetime to int
。 从此消息来看,我认为问题是与AUTHORIZED字段串联。 虚拟数据及其数据框如下所示。 关于如何解决这个问题有什么想法吗?
print firstData
ORDER_ID EMAIL IP AUTHORIZED
0 1234567 dummy@dummy.net x.x.x.x 2008-11-15 19:16:07
1 8911234 dummy@dummy.com x.x.x.x 2008-11-15 17:59:55
2 4567833 dummy@dummy.com x.x.x.x 2008-11-15 17:50:20
HOUR DAY_OF_WEEK SHIPMENT_TYPE ZIPS_MATCH MERCH_SUBCAT
0 19 7 Standard 1 Her Accessory
1 17 7 Standard 1 Her Accessory
2 17 7 Standard 1 Kid toy/clothes
print lastData
ORDER_ID EMAIL IP AUTHORIZED
3 1234567 dummy@dummy.net x.x.x.x 2008-11-15 17:43:13
4 8901234 dummy@dummy.com x.x.x.x 2008-11-15 13:18:01
5 4567890 dummy@dummy.com x.x.x.x 2008-11-15 09:29:10
HOUR DAY_OF_WEEK SHIPMENT_TYPE ZIPS_MATCH MERCH_SUBCAT
3 17 7 Standard 1 Bag
4 13 7 Standard 1 Paperweight/boxes
5 09 7 Standard 0 Candle
concat(firstData, lastData)
TypeError: can't compare datetime.datetime to int
您需要将list
, dict
, tuple
或DataFrame
或Series
对象的生成器DataFrame
给concat
。 您现在正在执行的操作将引发TypeError
因为lastData
被作为axis
参数传递(并且有很多行,例如axis == 0
,将触发TypeError
)。 像这样做:
In [31]: a
Out[31]:
0 1 2 3 4 5
0 0 1234567 dummy@dummy.net x.x.x.x 2008-11-15 19:16:07
1 1 8911234 dummy@dummy.com x.x.x.x 2008-11-15 17:59:55
2 2 4567833 dummy@dummy.com x.x.x.x 2008-11-15 17:50:20
In [32]: b
Out[32]:
0 1 2 3 4 5
0 3 1234567 dummy@dummy.net x.x.x.x 2008-11-15 17:43:13
1 4 8901234 dummy@dummy.com x.x.x.x 2008-11-15 13:18:01
2 5 4567890 dummy@dummy.com x.x.x.x 2008-11-15 09:29:10
In [33]: concat([a, b])
Out[33]:
0 1 2 3 4 5
0 0 1234567 dummy@dummy.net x.x.x.x 2008-11-15 19:16:07
1 1 8911234 dummy@dummy.com x.x.x.x 2008-11-15 17:59:55
2 2 4567833 dummy@dummy.com x.x.x.x 2008-11-15 17:50:20
0 3 1234567 dummy@dummy.net x.x.x.x 2008-11-15 17:43:13
1 4 8901234 dummy@dummy.com x.x.x.x 2008-11-15 13:18:01
2 5 4567890 dummy@dummy.com x.x.x.x 2008-11-15 09:29:10
In [34]: concat([a, b], axis=1)
Out[34]:
0 1 2 3 4 5 0 1 \
0 0 1234567 dummy@dummy.net x.x.x.x 2008-11-15 19:16:07 3 1234567
1 1 8911234 dummy@dummy.com x.x.x.x 2008-11-15 17:59:55 4 8901234
2 2 4567833 dummy@dummy.com x.x.x.x 2008-11-15 17:50:20 5 4567890
2 3 4 5
0 dummy@dummy.net x.x.x.x 2008-11-15 17:43:13
1 dummy@dummy.com x.x.x.x 2008-11-15 13:18:01
2 dummy@dummy.com x.x.x.x 2008-11-15 09:29:10
现在这会引发一个AssertionError
,因为提交36142334
(在v0.12.0版本中),因此您不再会收到此神秘错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.