gpt4 book ai didi

python - Pandas Dataframe 对象类型

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:59 24 4
gpt4 key购买 nike

我有一个大型数据框,大约有 100 万行和 9 列,其中一些行在几列中缺少数据。

dat = pd.read_table( 'file path', delimiter = ';')

I z Sp S B B/T r gf k
0 0.0303 2 0.606 0.31 0.04 0.23 0.03 0.38
1 0.0779 2 0.00 0.00 0.05 0.01 0.00

前几列作为字符串读入,最后几列作为 NaN 读入,即使那里有数值。当我包含 dtype = 'float64' 时,我得到:

ValueError: could not convert string to float: 

有什么办法可以解决这个问题吗?

最佳答案

您可以使用replace通过正则表达式 - 将一个或多个空格转换为NaN,然后转换为float

data 中的空字符串会在 read_table 中转换为 NaN

df = df.replace({'\s+':np.nan}, regex=True).astype(float)
print (df)
I z Sp S B B/T r gf k
0 0.0 0.0303 2.0 0.606 0.31 0.04 0.23 0.03 0.38
1 1.0 0.0779 2.0 NaN 0.00 0.00 0.05 0.01 0.00

如果数据包含一些需要替换为 NaN 的字符串,可以使用 to_numeric应用:

df = df.apply(lambda x: pd.to_numeric(x, errors='coerce'))
print (df)
I z Sp S B B/T r gf k
0 0 0.0303 2 0.606 0.31 0.04 0.23 0.03 0.38
1 1 0.0779 2 NaN 0.00 0.00 0.05 0.01 0.00

关于python - Pandas Dataframe 对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42226639/

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