gpt4 book ai didi

python - 如何使用 Pandas 从一个数据框中的另一个数据框中查找值?

转载 作者:太空狗 更新时间:2023-10-30 02:56:44 25 4
gpt4 key购买 nike

I have two dataframes:

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B7', 'B4', 'B0', 'B3'] })
df2 = pd.DataFrame({'A': ['A4', 'A3', 'A7', 'A8'],'B': ['B0', 'B1', 'B2', 'B3']})

我需要从 B 列中获取所有公共(public)值,所以这里是 B0B3

使用 df1.B.isin(df2.B) 给我 False False True True,但不是值列表。

最佳答案

你需要boolean indexing :

print (df1[df1.B.isin(df2.B)])

A B
2 A2 B0
3 A3 B3

print (df1.ix[df1.B.isin(df2.B), 'B'])
2 B0
3 B3
Name: B, dtype: object

print (df1.ix[df1.B.isin(df2.B), 'B'].tolist())
['B0', 'B3']

另一种解决方案 merge :

print (pd.merge(df1,df2, on='B'))
A_x B A_y
0 A2 B0 A4
1 A3 B3 A8

print (pd.merge(df1,df2, on='B')['B'])
0 B0
1 B3
Name: B, dtype: object

关于python - 如何使用 Pandas 从一个数据框中的另一个数据框中查找值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39464636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com