Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从一个数据帧获取所有行,这些行具有来自另一个数据帧的匹配值_Python_Pandas_Numpy_Dataframe_Querying - Fatal编程技术网

Python 从一个数据帧获取所有行,这些行具有来自另一个数据帧的匹配值

Python 从一个数据帧获取所有行,这些行具有来自另一个数据帧的匹配值,python,pandas,numpy,dataframe,querying,Python,Pandas,Numpy,Dataframe,Querying,我有两个数据帧,以下面的示例为例 df1 df2 如果用户ID在df1和df2之间匹配,我希望df3只包含df2中与df1匹配的行,那么如何获得df3呢 我不认为连接是这里的答案,因为我只需要来自df2的行。不是df1中的行 谢谢 使用pandas.Series.isin df2[df2['userid'].isin(df1['userid'])] 输出 这是个骗局,你在找merge它更像是一个isinno?我不想要来自df1的名字。我只需要df2中的所有行。非常感谢这非常有帮助。只是澄清一下

我有两个数据帧,以下面的示例为例

df1

df2

如果用户ID在df1和df2之间匹配,我希望df3只包含df2中与df1匹配的行,那么如何获得df3呢

我不认为连接是这里的答案,因为我只需要来自df2的行。不是df1中的行


谢谢

使用
pandas.Series.isin

df2[df2['userid'].isin(df1['userid'])]
输出
这是个骗局,你在找merge它更像是一个
isin
no?我不想要来自df1的名字。我只需要df2中的所有行。非常感谢这非常有帮助。只是澄清一下,如果我在df1中的两个不同列中有用户ID,那么df2[df2['userid'].isin(df1['userid1']).isin(df1['userid2'])会不会工作?这完全取决于你想要什么,你正在那里做一个
操作,如果你想要的话,那么代码是正确的。这个答案实际上对我不起作用,因为它只生成了更多的列,我无法得到一个数据框。结果数据框有0行,匹配值作为columnsLet us生成。
userid| sport | song 
79 |  tennis  | lovelies  
33 |  swimmin | Beatles  
21 |  boxing  | stones  
df2[df2['userid'].isin(df1['userid'])]
   userid      sport        song 
1      33    swimmin    Beatles