gpt4 book ai didi

python - 在 Python 中用数据框中的平均值替换 '?' 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:40 25 4
gpt4 key购买 nike

我有一个汽车数据集,我想在其中替换“?”列标准化值中的值到剩余数值的平均值。我使用的代码是:

mean = df["normalized-losses"].mean()
df["normalized-losses"].replace("?",mean)

但是,这会产生错误:

ValueError: could not convert string to float: '???164164?158?158?192192188188??121988111811811814814814814811014513713710110110111078106106858585107????145??104104104113113150150150150129115129115?115118?93939393?142???161161161161153153???125125125137128128128122103128128122103168106106128108108194194231161161??161161??16116116111911915415415474?186??????1501041501041501048383831021021021021028989858587877477819191919191919191168168168168134134134134134134656565656519719790?1221229494949494?256???1037410374103749595959595'

任何人都可以帮助我转换'?'值到平均值。另外,这是我第一次使用 Pandas 包,所以如果我犯了任何愚蠢的错误,请原谅我。

最佳答案

使用to_numeric用于将非数值转换为 NaN,然后是 fillna意思:

vals = pd.to_numeric(df["normalized-losses"], errors='coerce')
df["normalized-losses"] = vals.fillna(vals.mean())
#data from jpp
print (df)
normalized-losses
0 1.0
1 2.0
2 3.0
3 3.4
4 5.0
5 6.0
6 3.4

详细信息:

print (vals)
0 1.0
1 2.0
2 3.0
3 NaN
4 5.0
5 6.0
6 NaN
Name: normalized-losses, dtype: float64

print (vals.mean())
3.4

关于python - 在 Python 中用数据框中的平均值替换 '?' 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53535904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com