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

pythonserver side programmingprogramming更新于 2024/1/4 23:35:00

在 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)

其中,

  • numpy pandas 是库

  • isin 是 numpy 中可用的函数

  • elements是输入数据

  • DataFrame 是二维标记数据

示例

在此示例中,我们将使用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]]


相关文章