如何更改 pandas 中的列数据类型而不在数据框中的整个列中创建空值

问题描述 投票:0回答:1

尝试将具有非数字类型值的列转换为具有数字类型值的列时,我一直得到空值

我一直在使用下面的代码行来更改我的列数据类型,以便我可以在“总”列中填充空值,但它一直在整个“总”列中为我提供空值(Nan),我能做什么做:

# read['Gross']=pd.to_numeric(read['Gross'], error='coerce')

python pandas dataframe data-analysis
1个回答
0
投票

pd.to_numeric(read['Gross'],errors='coerce') 行对于将具有潜在非数字值的列转换为 pandas 中的数字值是正确的。但是,当使用errors='coerce'时,列中的任何非数字值都将被替换为NaN。

例如:

数据 = {'总': ['1234', '$4567', '789a', '12,345', 无]}

读取 = pd.DataFrame(数据)

清洁并转换

read['Gross'] = read['Gross'].astype(str).str.replace(',', '').str.replace('$', '').replace('nan', '')

read['Gross'] = pd.to_numeric(read['Gross'], error='coerce')

处理 NaN

read['Gross'].fillna(0, inplace=True)

© www.soinside.com 2019 - 2024. All rights reserved.