Python in
并不适用于整个列:
> dfTrain['name'][22]
'McGowan, Miss. Anna "Annie"'
> "\"" in dfTrain['name'][22]
True
> "\"" in dfTrain['name']
False
如何检查字符串的列表中是否存在字符?
答案 0 :(得分:3)
" \""在dfTrain ['名称'] [22]是' McGowan,小姐.Anna" Annie"'其中包含" \"
虽然dfTrain [' name']是一个列表而你却没有" \"作为列表中的元素
与您的类似示例:
>>> nested_list_example = ["abhishek","ralesh","wr'"]
>>> "wr'" in nested_list_example
True
>>> "'" in nested_list_example
False
>>> "'" in nested_list_example[2]
True
答案 1 :(得分:1)
有几种方法可以做到这一点:
1)你可以做的一件事是
"\"" in dfTrain['name'].to_string()
如果df中的任何名称包含",则返回True
。
2)另一种方式可能是not dfTrain[dfTrain['name'].str.contains('"')].empty
这是因为,我找到了包含"
的所有列。
如果没有包含"
的列,则表示返回的数据帧将为空。
如果返回的数据帧为空(True),则所有列都不包含"
,您希望输出“False”#39; (因此' not'陈述')
答案 2 :(得分:0)
您可以将每行中的join()
个元素合并为一个字符串并使用contains()
来检查它是否包含"
:
In [11]: df
Out[11]:
name
0 [test1, test2]
1 [another test]
2 [yet, another test]
3 [McGowan, Miss. Anna "Annie", aaa, bbb]
In [12]: df['name'].str.join('').str.contains('"')
Out[12]:
0 False
1 False
2 False
3 True
Name: name, dtype: bool