gpt4 book ai didi

python - 根据字符串列的最后一个字母,使用掩码删除 Pandas df 行

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

例如,在下面的 pandas dataframe 中有 3 行,都是字符串。我想根据条件删除 if str[-1] == '-':

df = pd.DataFrame({'a': ["123-","123-1","123-2"]})

但如果我这样做

df[df['a'][-1]=='-']

它将返回一个错误。我知道可以使用 df.apply 函数来完成。但我只是想知道是否可以用 mask 来完成。

最佳答案

您可以使用正则表达式创建掩码,如下所示。美元符号将确保连字符仅在字符串末尾匹配。

df.a.str.contains('-$')

这将返回一个 bool 系列。使用您的示例:

0     True
1 False
2 False

然后您可以像往常一样使用 df.drop() 删除行:

df.drop(df[df.a.str.contains('-$')].index, inplace=True)

如果你愿意,可以重置索引:

df.reset_index(inplace=True, drop=True)

关于python - 根据字符串列的最后一个字母,使用掩码删除 Pandas df 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50888612/

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