繁体   English   中英

在熊猫数据框的两列中找到相等的值

[英]find the values that are equal in two columns of pandas dataframe

这是我的数据框:

df = pd.DataFrame({'ma':['a', 'b', 'c', 'd'], 'freq1':[1,2,3,4], 'phd':['x', 'y', 'a','b'], 'freq2':[6,7,8,9]})

我想选择dfmaphd具有共同值(即ab )的部分,这是我想要的结果:

  freq1  freq2 ma phd
0      1      8  a   a
1      2      9  b   b

因此,我认为您可以进行自我合并:

m=df.merge(df,left_on='ma',right_on='phd')
m.loc[:,['ma_x','freq1_x','freq2_y','phd_y']]

  ma_x  freq1_x  freq2_y phd_y
0    a        1        8     a
1    b        2        9     b

或者,将df分成两部分,然后在“ ma”和“ phd”上合并:

df1 = df[['ma', 'freq1']]
df2 = df[['phd', 'freq2']]
df1.merge(df2, left_on='ma', right_on='phd')

  ma  freq1 phd  freq2
0  a      1   a      8
1  b      2   b      9

只需使用pd.merge()

final_res = pd.merge(df[['ma','freq1']],df[['phd','freq2']],left_on=['ma'],right_on=['phd'],how='inner')
print(final_res)
    ma  freq1  phd  freq2
0   a    1      a   8
1   b    2      b   9

暂无
暂无

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

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