【问题标题】:How to intersect two files in Python using pandas?python - 如何使用pandas在Python中相交两个文件?
【发布时间】:2016-04-25 13:09:14
【问题描述】:

我有两个数据框 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']) 

【问题讨论】:

  • 您很可能会使用DataFrame.merge 功能。检查docs

标签: python pandas dataframe export-to-csv


【解决方案1】:

您可以将mergedrop 一起使用:

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

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

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 1970-01-01
    • 2011-08-25
    • 2023-03-24
    • 2019-02-22
    • 2015-07-02
    • 2020-07-11
    • 2018-02-24
    • 2021-09-03
    相关资源
    最近更新 更多