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

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

Barbara Streisand
发布: 2024-12-13 09:42:14
原创
557 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板