基于值列表对 Pandas DataFrame 进行子集化
使用相等运算符可以直接根据特定值在 Pandas DataFrame 中选择行。然而,当处理多个值时,需要更灵活的方法。本文介绍了如何使用值列表对数据框进行子集化。
问题:
考虑以下数据框:
df = DataFrame({'A': [5,6,3,4], 'B': [1,2,3,5]}) df A B 0 5 1 1 6 2 2 3 3 3 4 5
我们想要选择列“A”与给定列表中的值匹配的行,例如 [3, 6]:
list_of_values = [3, 6] y = df[df['A'] in list_of_values]
解决方案:
dataframe 的 isin 方法提供了一种方便的方法来实现此目的:
df[df['A'].isin([3, 6])]
这个返回以下行:
A B 1 6 2 2 3 3
对于逆向选择,排除具有值的行在给定列表中,使用 ~ 运算符:
df[~df['A'].isin([3, 6])]
这将返回剩余的行:
A B 0 5 1 3 4 5
使用 isin 方法,您可以轻松地根据列表选择或排除行值,为从 Pandas 数据帧中提取数据提供更通用的解决方案。
以上是如何根据值列表对 Pandas DataFrame 进行子集化?的详细内容。更多信息请关注PHP中文网其他相关文章!