如何检查 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)
其中,
numpy 和 pandas 是库
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]]
广告