![](/img/trans.png)
[英]python pandas - subsetting a dataframe with integer as column name
[英]Subsetting a Dataframe by Column Contents in Separate DataFrame - Python 3
如何使用另一个dataframes列的内容对一个dataframe进行子集化?
df1 = pd.DataFrame({"0": ['one', 'two', 'three', 'four'], "Index": [1, 2, 3, 4]})
df2 = pd.DataFrame({"0": ['two', 'two', 'three', 'three']})
a = [i for i in df1['0'] if i in df2['0']]
结果
print(a)
[]
所需输出:print(a)
0 index
0 two 2
1 three 3
如果您真的想保持这种奇怪的不必要的列表理解,则需要传递s.values
:
>>> [i for i in df1['0'].values if i in df2['0'].values]
['two', 'three']
但是要直接得到您的输入暗示您想要的,只需在df1
中选择条目,其中0
列值位于df2
的0
列值中:
>>> df1[df1['0'].isin(df2['0'])]
0 Index
1 two 2
2 three 3
您也可以重置索引,调用df_name.reset_index(drop=True)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.