Python 数据帧子集系列
我有两个数据帧Python 数据帧子集系列,python,pandas,Python,Pandas,我有两个数据帧df1和df2。两者都有一个公共列经销商。我想为所有出现在df2中的dealer进行子集df1。我该怎么做?使用isin df1[df1['delear'].isin(df2['delear'])] 例如: In [24]: df1 = pd.DataFrame({'delear':np.arange(5)}) df2 = pd.DataFrame({'delear':[2,4]}) df1[df1['delear'].isin(df2['delear'])] Out[24]:
df1
和df2
。两者都有一个公共列经销商
。我想为所有出现在df2
中的dealer
进行子集df1
。我该怎么做?使用isin
df1[df1['delear'].isin(df2['delear'])]
例如:
In [24]:
df1 = pd.DataFrame({'delear':np.arange(5)})
df2 = pd.DataFrame({'delear':[2,4]})
df1[df1['delear'].isin(df2['delear'])]
Out[24]:
delear
2 2
4 4
在df2“delear”列中可能存在重复值的情况下,可以通过调用unique
来获取唯一值:
In [26]:
df2 = pd.DataFrame({'delear':[2,4,4,4,4]})
df2['delear'].unique()
Out[26]:
array([2, 4], dtype=int64)
因此,代码变成:
df1[df1['delear'].isin(df2['delear'].unique())]
如果存在大量重复值,则少量添加df1[df1['delear'].isin(df2['delear'].unique)]
可能是最佳选择?是的,但OP没有说明或显示任何指示是否可能存在重复值的内容,将不更新上述内容。我不必担心unique
,因为我已经对数据进行了重复数据消除。@SaurabhKumarKarn如果我的答案回答了你的问题,那么你可以接受它,我的答案的左上角将有一个空勾号Done。。对不起,我是这个社区的新手!应该早点做的。。。