首页 >后端开发 >Python教程 >如何根据值列表对 Pandas DataFrame 进行子集化?

如何根据值列表对 Pandas DataFrame 进行子集化?

Barbara Streisand
Barbara Streisand原创
2024-12-13 09:42:14563浏览

How to Subset a Pandas DataFrame Based on a List of Values?

基于值列表对 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn