Pandas 如何检查列是否包含列表中的字符串值
Pandas是Python中的一个库,用于数据分析。在Pandas库中,我们将数据以行和列的形式创建。列可以是字符串数据类型。”字符串列表”指的是包含字符串元素的列表。
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库的 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]]