如何获得行如果值从一个数据框是在另一个?



我有两个数据帧:

df1 = {'Stream': ['Netflix', 'Hulu', 'YouTube', 'Aprime', 'HBO', 'Peacock', 'Tubi'],
'Percent': [51, 19, 40, 18, 35, 12, 7]}
df2 = {'Test': ['Hulu', 'Netflix', 'Disney']}

我想看看它们是否有df2df1中的任何实例。如果有,我想打印df1行。我正在寻找的结果:

Stream  Percent
Hulu    19
Netflix 51

我在想下面这样的东西,但是我想不出来:

for row in df1:
if row['Stream'] == df2['Test']:
print(row)

尝试使用isin

df1 = pd.DataFrame(df1)
df2 = pd.DataFrame(df2)
df1[df1["Stream"].isin(df2.Test)]
Out[523]: 
Stream  Percent
0  Netflix       51
1     Hulu       19

另一种方法是在两个dataframe上使用inner连接。更多细节请点击这里。-

df2.set_index('Test').join(df1.set_index('Stream'), how='inner')
Percent
Hulu          19
Netflix       51

相关内容

最新更新