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

如何使用值列表对 Pandas DataFrame 进行子集化?

Barbara Streisand
Barbara Streisand原创
2024-12-21 10:43:10205浏览

How to Subset Pandas DataFrames Using a List of Values?

基于值列表对 Pandas 数据帧进行子集化

在数据分析中,通常需要根据预定义的条件从数据帧中检索特定行。 Pandas 提供了各种对数据帧进行子集化的方法,包括基于值列表选择行的能力。

利用 isin() 方法

根据值列表对 Pandas 数据帧进行子集化,您可以使用 isin() 方法,如所示下面:

import pandas as pd

# Create a Pandas dataframe
df = pd.DataFrame({'A': [5, 6, 3, 4], 'B': [1, 2, 3, 5]})

# Define a list of values to filter by
list_of_values = [3, 6]

# Subset dataframe based on the list
y = df[df['A'].isin(list_of_values)]

print(y)

输出:

   A  B
1  6  2
2  3  3

isin() 方法允许您过滤指定列值与提供的列表中的任何值匹配的行。

使用 ~

否定选择在某些情况下,您可能需要根据值列表排除行。要实现此目的,您可以将 ~ 运算符与 isin() 一起使用,如下所示:

import pandas as pd

# Create a Pandas dataframe
df = pd.DataFrame({'A': [5, 6, 3, 4], 'B': [1, 2, 3, 5]})

# Define a list of values to exclude
list_of_values = [3, 6]

# Subset dataframe excluding the list
z = df[~df['A'].isin(list_of_values)]

print(z)

输出:

   A  B
0  5  1
3  4  5

~ 运算符否定选择,确保行显示不在指定列表中的值。

以上是如何使用值列表对 Pandas DataFrame 进行子集化?的详细内容。更多信息请关注PHP中文网其他相关文章!

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