如何检查 Pandas 列中是否包含字符串列表中的值?


在 Pandas 库中,我们以行和列的形式创建数据。列可以是字符串数据类型。字符串列表表示包含字符串元素的列表。

Pandas 是 Python 中的一个库,它是 Python 数据分析库的缩写。它用于执行数据分析、数据清洗、数据操作和科学计算。Pandas 库中的数据以列和行的形式表示。它有许多函数和模块用于执行数据分析和操作。

Python 提供了多种方法来检查 Pandas 列中是否包含字符串类型列表中的值。让我们逐一查看每种方法。

使用 dataframe() 函数

首先,让我们使用列和行创建示例数据帧。以下是代码。

import pandas as pd
dic = {"Name":["Anil","Srivatsav","Prasad","Mitra"],
      "Class":[10,30,20,50],
      "subject":["python","Java","c","Android"]}
data = pd.DataFrame(dic)
print(data.head())

输出

以下是使用 Pandas 创建的数据帧 -

        Name  Class  subject
0       Anil     10   python
1  Srivatsav     30     Java
2     Prasad     20        c
3      Mitra     50  Android

使用 isin() 函数

isin() 是 Pandas 库中可用的一个函数,用于检查DataFrame 或 Series 中的元素是否出现在给定的列表、元组或数组对象中。以下是使用isin() 函数的语法。

DataFrame.isin(elements)

示例

在这个示例中,我们将通过传递字符串列表作为输入参数,对所需的列应用isin() 函数。

import pandas as pd
dic = {"Name":["Anil","Srivatsav","Prasad","Mitra"],
      "Class":[10,30,20,50],
      "subject":["python","Java","c","Android"]}
data = pd.DataFrame(dic)
data.isin(["Anil","Srivatsav","Java"])
print(data.head())

输出

上面程序的输出如下 -

        Name  Class  subject
0       Anil     10   python
1  Srivatsav     30     Java
2     Prasad     20        c
3      Mitra     50  Android

使用 numpy isin() 函数

NumPy 库提供了 isin() 函数,它与 Pandas 库的 isin() 函数类似。我们可以传递任何 Python 对象,例如列表、元组或数组对象等,并检查给定对象的内容是否存在于当前数据集中。

np.isin(DataFrame,elements)

其中,

  • numpypandas 是库

  • isin 是 numpy 中可用的函数

  • elements 是输入数据

  • DataFrame 是 2 维带标签的数据

示例

在这个示例中,我们将使用 NumPy 库的isin() 函数来检查 Pandas 列中是否包含字符串列表中的值。

import pandas as pd
import numpy as np
dic = {"Name":["Anil","Srivatsav","Prasad","Mitra"],
      "Class":[10,30,20,50],
      "subject":["python","Java","c","Android"]}
data = pd.DataFrame(dic)
output = np.isin(data["Name"],["Anil","Srivatsav"])
print(output)

输出

以下是 Numpy 库的isin 函数的输出。

[ True  True False False]

示例

让我们再看一个示例,使用 NumPy 库的 isin() 函数检查 Pandas 列中是否包含字符串列表中的值。

import pandas as pd
import numpy as np
dic = {"Name":["Anil","Srivatsav","Prasad","Mitra"],
      "Class":[10,30,20,50],
      "subject":["python","Java","c","Android"]}
data = pd.DataFrame(dic)
output = np.isin([data["Name"],data["subject"]],["Anil","Srivatsav"])
print(output)

输出

 [[ True  True False False]
 [False False False False]]

更新于: 2023年8月9日

2K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告