📌  相关文章
📜  pandas 检查列中的值是否在列表中 - Python (1)

📅  最后修改于: 2023-12-03 15:33:24.724000             🧑  作者: Mango

Pandas检查列中的值是否在列表中 - Python

当使用Pandas时,有时需要检查一列中的值是否在给定的列表或数组中。这可以通过isin()函数轻松地实现。

isin()函数

isin()函数用于检查一个数组或Series的每个元素是否包含在指定的值列表或数组中。它返回一个布尔数组,指示每个元素是否在指定的列表或数组中。

下面是isin()函数的基本语法:

pandas.Series.isin(values)

其中,values参数可以是列表、数组或Series。

示例

假设有一个数据集包含名字和年龄两列。我们想要检查名字列中的每个值是否在给定的列表中。

import pandas as pd

data = {
    'Name': ['Joe', 'Mike', 'Sara', 'Michelle', 'Sam'], 
    'Age': [25, 29, 22, 31, 28]
}

df = pd.DataFrame(data)

names = ['Joe', 'Sara', 'Sam']

is_in_list = df['Name'].isin(names)

print(is_in_list)

输出:

0     True
1    False
2     True
3    False
4     True
Name: Name, dtype: bool

可以看到,isin()函数返回一个布尔数组,指示列中每个值是否在给定列表中。我们还可以使用这个数组来过滤DataFrame中的行:

filtered_df = df[is_in_list]
print(filtered_df)

输出:

       Name  Age
0       Joe   25
2      Sara   22
4       Sam   28

这样我们就可以轻松地检查一列中的值是否在给定的列表或数组中,并根据结果过滤数据。