我有以下数据框df1
:
X Y A B
0 484 408 10 3360
1 478 415 24 3365
2 504 452 31 yes
3 613 551 33 maybe
4 663 665 39 no
我知道如何选择B
列为yes
的行或任何其他特定值:
df1.loc[df1['B'] == 'yes']
但是如何选择不开始1>}的所有行?
PS:就我而言,336
和3360
是字符串。
答案 0 :(得分:4)
我会使用df[~df.B.str.startswith('336')]
访问者来使用类似str
的内容。例如,
>>> df = pd.DataFrame({'B': ['3360', '3365', 'yes', 'maybe', 'no']})
>>> df[~df.B.str.startswith('336')]
B
2 yes
3 maybe
4 no
如果要检查多个字符串,startswith
会接受一组前缀。
>>> df[~df.B.str.startswith(('112', '336', 'n'))]
B
2 yes
3 maybe