python - 如何从一列中的所有数字中删除\xa3?

标签 python pandas

我有一个数据框列,它是使用pd.read_csv从csv文件中读取的。当我查看这些数字时,它们看起来都是这样的:

df['Amount'][0]
Out[4]: '\xa3128.23'

也就是说,它们前面有 \xa3,因此也不会被解释为 float 。

如何剥离 \xa3 并使它们 float ?

最佳答案

我认为需要replace :

df['Amount'].str.replace('\xa3', '').astype(float)

或者lstrip通过£:

df['Amount'].str.lstrip('£').astype(float)

正如 @csevier 指出的那样,似乎存在编码问题,解决方案是:

df = pd.read_csv("your_data_set_path", encoding='utf-8') 

然后:

df['Amount'] = df['Amount'].str.lstrip('£').astype(float)

关于python - 如何从一列中的所有数字中删除\xa3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50785963/

相关文章:

python - 在 Pandas 数据框中创建 value_counts 列

Python 套接字错误弹性/解决方法

python - 如何对具有重复列名的行进行切片并按顺序堆叠这些行

python - `pandas.DataFrame.apply` 逐行操作

python - Pandas:将行中列的值设置为存储在其他行索引处的不同 df 中的值

python - Pandas 多列中最常见的值

javascript - 有没有办法用 javascript 变量索引 Django/Jinja 列表?

Python unittest,使用基本测试类时跳过测试

python - 在 conda 环境下在 Ubuntu 上运行 gunicorn

python - 德莱尼三角剖分的欧几里德距离 - Scipy