【发布时间】:2023-03-27 21:17:01
【问题描述】:
给定以下数据框:
State,City,Population,Poverty_Rate,Median_Age,
VA,XYZ,.,10.5%,42,
MD,ABC,"12,345",8.9%,.,
NY,.,987,654,.,41,
...
import pandas as pd
df = pd.read_csv("/path... /sample_data")
df.dtypes 返回
State Object
City Object
Population Object
Proverty_Rate Object
Median_Age Object
我尝试将相应列的数据类型转换为 int 或 float:
df = df.astype({"Population": int, "Proverty_rate": float, "Median_Age": int })
我收到了
Value Error: invalid literal for int() with base 10: '12,345'
我怀疑逗号分隔符导致了这个问题。如何从我的数据集中删除它们?
【问题讨论】:
-
是的,当您在 csv 中读取时,使用
thousands参数。pd.read_csv('file.csv', thousands=',')
标签: python pandas type-conversion comma