我有一个Python数据框df,其中有几列。我想从名称为A的列中选择带有指定字符串的行,并且A的每个单元格中的数据类型为['str1','str2','str3'...]。我使用了df ['A']。str.contains('str2')],但它不起作用。我不知道问题出在哪里。我可以在进行过滤之前将列表类型转换为字符串吗?
示例:
数据框:
A B C D
1 [animal,tools,new] white nyc 25
2 [Italian,restaurant,food] black boston 20
3 [Italian,animal,place] red chicago 5
4 [sky,temp,something] red island 90
我想选择A列中仅包含“动物”的行 理想的输出:
A B C D
1 [animal,tools,new] white nyc 25
2 [Italian,animal,place] red chicago 5
答案 0 :(得分:0)
我认为您可以使用in
df=pd.DataFrame({'A':[['str1','str2','str3'],['str1']]})
['str2' in x for x in df.A]
Out[28]: [True, False]