gpt4 book ai didi

python - Pandas :仅当特定列中的值以以下开头时才选择数据框行

转载 作者:太空宇宙 更新时间:2023-11-04 10:03:27 25 4
gpt4 key购买 nike

我有以下数据框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']

但是我怎样才能选择所有不以336开头的行呢?

PS:在我的例子中,33603365 是字符串。

最佳答案

我会使用 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

关于python - Pandas :仅当特定列中的值以以下开头时才选择数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42233652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com