python - 从 Pandas 列中的行中删除特殊字符的大多数 Pythonic 方法
问题描述
当我调用df.head()
我的 Pandas 数据框时,我得到以下信息:
0 New YorkÊ
1 Los AngelesÊ
2 ChicagoÊ
3 LondonÊ
4 HoustonÊ
Name: cities, dtype: object
如您所见,在列的末尾有一个额外的字符cities
。因此,我使用以下代码删除了此字符:
df['cities'] = df['cities'].str.replace('Ê', '')
这行得通。但是,这是删除此字符的最佳(最 Pythonic)方法吗?
谢谢!
解决方案
您的解决方案本身没有问题,但您最好solution
对所有非 ascii 字符应用一个整体
>>> df['cities'] = df['cities'].str.encode('ascii', 'ignore').str.decode('ascii')
推荐阅读
- sql - SQL 语句中的 NULL id
- excel - Excel VBA 宏随机工作
- javascript - 关于javascript中函数作为值概念的混淆
- c# - CS0123 C#“Polar_Checked”没有重载匹配委托“RoutedEventHandler”
- amazon-web-services - AWS 弹性豆茎。如何使用默认的 Elastic Block Storage 实例 (EBS)?
- node.js - 从 repo 安装的 Npm 未运行“准备”
- c - 需要帮助弄清楚 fgets 的问题是什么
- postgresql - 如何在单个查询中设置独立查询
- python - 在更改为字符串/字节后编码/解码图像数据
- javascript - 使用 php echo 解析 javascript 代码