如何从字符串列表中检查Pandas列是否有值
在这篇文章中,我们将看到如何在Python中检查pandas列是否有一个来自字符串列表的值。
字符串列表是指一个包含字符串元素的列表,我们将检查pandas数据框架中是否有来自字符串列表的值,如果有的话就显示它们。我们将得到列表中的字符串所在的数据框架列。
创建样本数据框架
#import pandas
import pandas
# create dataframe
data = pandas.DataFrame({'name': ['sireesha', 'priyank',
'ojaswi', 'gnanesh'],
'subjects': ['java', 'networks',
'c', 'c#']})
# display
data
输出:
方法1:使用isin()函数
在这种情况下,isin()函数会检查列表中包含字符串的pandas列,并在存在时返回该列的值,否则它不会选择数据框架的列。
语法 : dataframe[dataframe['column_name'].isin(list_of_strings)]
其中,
- dataframe是输入数据帧
- list_of_strings是包含字符串的列表。
- column_name是要检查该列中存在的字符串列表。
例子 。Python程序检查pandas列是否有一个来自字符串列表的值
#import pandas
import pandas
# create dataframe
data = pandas.DataFrame({'name': ['sireesha', 'priyank',
'ojaswi', 'gnanesh'],
'subjects': ['java', 'networks',
'c', 'c#']})
# consider a list
list1 = ['sireesha', 'priyank']
# check the pandas name column
# contain the given list if strings
print(data[data['name'].isin(list1)])
# consider a list
list2 = ['java', 'c']
# check the pandas subjects column
# contain the given list if strings
print(data[data['subjects'].isin(list2)])
输出:
方法2:使用NumPy
这里NumPy也使用了isin()操作符来检查pandas列是否有一个来自字符串列表的值。
语法 : dataframe[~numpy.isin(dataframe[‘column’], list_of_value)]
示例:
# import pandas
import pandas
# import numpy
import numpy
# create dataframe
data = pandas.DataFrame({'name': ['sireesha', 'priyank',
'ojaswi', 'gnanesh'],
'subjects': ['java', 'networks',
'c', 'c#']})
# consider a list
list1 = ['sireesha', 'priyank']
# check the pandas name column
# contain the given list if strings
print(data[data['name'].isin(list1)])
# consider a list
list2 = ['java', 'c']
# check the pandas subjects column
# contain the given list if strings
data[~numpy.isin(data['subjects'], list1)]
输出: