【发布时间】:2016-01-29 00:09:55
【问题描述】:
假设我有以下 pandas.Series:
import pandas as pd
s = pd.Series([1,3,5,True,6,8,'findme', False])
我可以使用in 运算符来查找任何整数或布尔值。示例,以下均产生 True:
1 in s
True in s
但是,当我这样做时,这会失败:
'findme' in s
我的解决方法是使用pandas.Series.str 或先将Series 转换为列表,然后使用in 运算符:
True in s.str.contains('findme')
s2 = s.tolist()
'findme' in s2
知道为什么我不能直接使用in 运算符在系列中查找字符串吗?
【问题讨论】:
-
6 in pd.Series([1,2,6])为 False,因此即使是数值也无法按预期工作 :)