繁体   English   中英

如何使用熊猫在Python中相交两个文件?

[英]How to intersect two files in Python using pandas?

我有两个数据框A和B,它们具有一些常见的列名。 像那样:

A                            B
Date Birth             Date Place City
156    0               642    M     K
521    1               765    O     L
765    1               111    S     K
832    0               521    M     S

我需要获得一个新的数据框,该数据框将由A和B的交集(基于它们的公共列+来自第二个数据框的数据)组成:

Date  Place  City
765    O      L
521    M      S

有比我尝试做的遍历项目更快的方法吗?

f=''
for i in A['Date'].iteritems():
    for j in B['Date'].iteritems():
        if i==j:
           f.to_csv([j]+B['Place']+['City']) 

您可以使用drop merge

print pd.merge(A,B, on=['Date']).drop('Birth', axis=1)
   Date Place City
0   521     M    S
1   765     O    L

下一个解决方案使用列Date创建子集,然后merge其与DataFrame B merge

print pd.merge(A[['Date']],B, on=['Date'])
   Date Place City
0   521     M    S
1   765     O    L

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM