我试图合并2个数据帧,但是.join正在创建一个不需要的副本。在df_ask:
timestamp price volume
1520259290 10.5 100
1520259275 10.6 2000
1520259275 10.55 200
df_bid:
timestamp price volume
1520259290 10.25 500
1520259280 10.2 300
1520259275 10.1 400
我试过了:
^{pr2}$
但这返回了一个我确实理解的错误(“concat失败,重新索引仅对具有唯一值的索引对象有效”)
我试着:df_ask.join(df_bid, how='outer', lsuffix='_ask', rsuffix='_bid')
它没有给出错误,但给出了以下数据帧:timestamp price_ask volume_bid price_bid volume_bid
1520259290 10.5 100 10.25 500
1520259280 NaN NaN 10.2 300
1520259275 10.6 2000 10.1 400
1520259275 10.55 200 10.1 400
我的问题是重复的10.1和400时间戳1520259275。它们不在原始的df_bid数据帧中两次,应该只在这个df中出现一次。有两行相同的时间戳是正确的,因为此时有两个ask行,但是应该只有一个bid information行与这个时间戳关联。另一个应该是南。在
我要找的是:timestamp price_ask volume_bid price_bid volume_bid
1520259290 10.5 100 10.25 500
1520259280 NaN NaN 10.2 300
1520259275 10.6 2000 10.1 400
1520259275 10.55 200 NaN NaN
我已经看过merge/join/concat文档和this question,但是我找不到我要找的东西。提前谢谢