繁体   English   中英

从 Pandas 的列中的行中删除特殊字符的大多数 Pythonic 方法

[英]Most Pythonic way to remove special characters from rows in a column in Pandas

当我在 Pandas dataframe 上调用df.head()时,我得到以下信息:

0                                          New YorkÊ
1                                       Los AngelesÊ
2                                           ChicagoÊ
3                                            LondonÊ
4                                           HoustonÊ
Name: cities, dtype: object

如您所见,在cities列的末尾有一个额外的字符。 因此,我使用以下代码删除了此字符:

df['cities'] = df['cities'].str.replace('Ê', '')

这行得通。 但是,这是删除此字符的最佳(最 Pythonic)方法吗?

谢谢!

您的解决方案本身没有问题,但您最好为所有非 ascii 字符应用整体solution

>>> df['cities'] = df['cities'].str.encode('ascii', 'ignore').str.decode('ascii')

假设一个城市名称包含该字符? 更安全的方法是

df['cities'] = df['cities'].str.rstrip('Ê')

尽管如果您有一个以该字符结尾的大写城市名称,它可能仍然很混乱。 但风险降低了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM