0

SQL クエリから作成された 2 つの 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
4

1 に答える 1

2

またはオブジェクトのlistdicttuple、またはジェネレータをに渡す必要があります。あなたが今していることは、なぜなら引数として渡されているからです(そして、のようにトリガーする行がたくさんあります)。次のようにします。DataFrameSeriesconcatTypeErrorlastDataaxisaxis == 0TypeError

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 リリース) が発生するようになったため、この不可解なエラーは発生しなくなりました。

于 2013-10-07T16:05:27.663 に答える