【问题标题】:Python pandas: Merge two not-matching dataframes [duplicate]Python pandas:合并两个不匹配的数据框[重复]
【发布时间】:2022-01-27 03:19:05
【问题描述】:

我写了这段代码

from numpy.random import randn
from numpy.random import seed
from scipy.stats import pearsonr
import pandas as pd

df = pd.read_csv('C:/ **** /gdp-per-capita-worldbank.csv')

df=df[df['Year']==2020]

df1 = pd.read_csv('C:/*****/crude-birth-rate.csv')

df1=df1[df1['Year']==2020]

我放 *** 只是为了我的隐私,但在代码中有正确的路径。现在我必须将两个数据帧与 Pearson 相关性进行比较。 第一个数据框看起来像这样(A、B、C 等是状态:

State     GDP
A         45
B         90
C         70
D         20

第二个数据框看起来像这样(A、B、C 等是状态:

State     crude_birth_rate
A         3
B         2
Europe    30
C         1
Asia      40
K         4

所以你可以看到两个数据框没有正确匹配

所需的结果应该是另一个这样的数据框:

State     GDP     crude_birth_rate
A         45      3
B         90      2
C         70      1 

因此,最终数据框应由每个州组成,并与 2020 年的 GDP 和粗出生率保持一致,其他不匹配的州或组应删除。

谢谢

【问题讨论】:

    标签: pandas dataframe merge


    【解决方案1】:

    使用pd.merge:

    out = df1.merge(df2, on='State', how='inner')
    print(out)
    
    # Output
      State  GDP  crude_birth_rate
    0     A   45                 3
    1     B   90                 2
    2     C   70                 1
    

    点击此链接进行解释:Pandas Merging 101

    【讨论】:

      猜你喜欢
      • 2017-12-16
      • 2017-01-06
      • 2018-11-01
      • 1970-01-01
      • 2017-05-23
      • 1970-01-01
      • 2020-04-10
      • 2019-06-30
      • 1970-01-01
      相关资源
      最近更新 更多