你可以使用以下方法来检查pandas DataFrame的某一列是否包含一个字符串:
方法1:检查列中是否存在精确的字符串
(df['col'].eq('exact_string')).any()
方法2:检查部分字符串是否存在于列中
df['col'].str.contains('partial_string').any()
方法3:计算部分字符串的出现次数 在列中的出现次数
df['col'].str.contains('partial_string').sum()
本教程解释了如何在以下数据框架中实际使用每种方法:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'C'],
'conference': ['East', 'East', 'South', 'West', 'West', 'East'],
'points': [11, 8, 10, 6, 6, 5]})
#view DataFrame
team conference points
0 A East 11
1 A East 8
2 A South 10
3 B West 6
4 B West 6
5 C East 5
例1:检查列中是否存在精确的字符串
下面的代码显示了如何检查确切的字符串 "Eas "是否存在于DataFrame的会议列中。
(df['conference'].eq('Eas')).any()
False
输出结果是False,这告诉我们确切的字符串'Eas'不存在于DataFrame的会议列中。
例2:检查部分字符串是否存在于列中
下面的代码显示了如何 检查部分字符串'Eas'是否存在 于 DataFrame的会议 列中。
df['conference'].str.contains('Eas').any()
输出结果是True,这告诉我们部分字符串'Eas'确实存在于DataFrame的会议列中。
例3:计算部分字符串在列中的出现次数
下面的代码显示了如何 计算部分字符串 "Eas "在DataFrame的会议列中出现的次数。
df['conference'].str.contains('East').sum()
输出结果是3,这告诉我们部分字符串'Eas'在DataFrame的会议列中出现了3次。
下面的教程解释了如何在pandas中执行其他常见操作:
如何根据条件在Pandas DataFrame中删除行
如何根据多个条件过滤Pandas DataFrame
如何在Pandas DataFrame中使用 "NOT IN "过滤器