我有2个数据帧,我想得到df,在第一个文件中我有很多数据,在第二个文件中我有一个iD
列表,我想从第一个文件中获取。
我用
merged = pd.merge(buys, chunk, left_on='id', right_on='ID')
其中chunk
- 第一个(大)文件的一部分。 buys
- 包含id
列表的文件。在输出文件中,我有ID
,而不是buys
。
我做错了什么?
buys
:
id
7602962fb83ac2e2a0cb44158ca88464
bc8a731e4c7e6f6b96e56ebe7f766bcd
a703114aa8a03495c3e042647212fa63
77138e9245857e5449e9474293e31e19
chunk
:
id date
7602962fb83ac2e2a0cb44158ca88464 01.01.2016
7602962fb83ac2e2a0cb44158ca88464 02.01.2016
7602962fb83ac2e2a0cb44158ca88464 03.01.2016
77138e9245857e5449e9474293e31e19 09.05.2016
77138e9245857e5449e9474293e31e19 10.05.2016
671cfd6702c74f017209c2f1a888c279 10.01.2016
671cfd6702c74f017209c2f1a888c279 11.01.2016
029cfd6702c68f243423c2f1a234c232 11.03.2016
我需要得到
7602962fb83ac2e2a0cb44158ca88464 01.01.2016
7602962fb83ac2e2a0cb44158ca88464 02.01.2016
7602962fb83ac2e2a0cb44158ca88464 03.01.2016
77138e9245857e5449e9474293e31e19 09.05.2016
77138e9245857e5449e9474293e31e19 10.05.2016
答案 0 :(得分:0)
IIUC您希望合并两个数据框,只保留id
中的buys
?然后你就可以通过你how
中的merge
选项:
merged = pd.merge(buys, chunk, left_on='id', right_on='ID', how = 'left')
请注意,如果id
中的buys
不在chunk.ID
中,您将获得NaN
,其中缺少相应的日期。如果您不想要,请将how
选项更改为inner
:
merged = pd.merge(buys, chunk, left_on='id', right_on='ID', how = 'inner')
这样,您将只获取两个数据帧中存在的行。