gpt4 book ai didi

python - 过滤掉包含非字母数字字符的行

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

我正在尝试从现有的 DataFrame 中获取一个 DataFrame,该 DataFrame 仅包含特定列(其值为字符串)中的值不包含特定字符的行。

即如果我们不想要的字符是 '('

原始数据框:

   some_col my_column
0 1 some
1 2 word
2 3 hello(

新数据框:

   some_col my_column
0 1 some
1 2 word

我试过 df.loc['(' not in df['my_column']],但这不起作用,因为 df['my_column'] 是一个系列对象。

我也尝试过:df.loc[not df.my_column.str.contains('(')],它也不起作用。

最佳答案

你正在寻找 str.isalpha:

df[df.my_column.str.isalpha()]

some_col my_column
0 1 some
1 2 word

类似的方法是str.isalnum,如果你想保留字母和数字。

如果你想处理字母和空白字符,使用

df[~df.my_column.str.contains(r'[^\w\s]')]

some_col my_column
0 1 some
1 2 word

最后,如果您想要删除整个标点符号,我在这里写了一个问答,这可能是一个有用的读物​​:Fast punctuation removal with pandas

关于python - 过滤掉包含非字母数字字符的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50595548/

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