gpt4 book ai didi

python - 用数组替换 pandas 列值

转载 作者:行者123 更新时间:2023-11-28 22:23:55 25 4
gpt4 key购买 nike

我有一个数组:

([ 137.55021238,  125.30017675,  130.20181675,  109.47348838])

我需要数组值来替换 b 列,索引号保持不变:

Index    a         b         
0 0.671399 Nan
35 0.446172 Nan
63 0.614758 Nan
72 0.634448 Nan

我尝试使用替换,但没有用。有没有另一种方法可以在不将数组转换为数据框并合并的情况下执行此操作?

最佳答案

vals = [137.55021238, 125.30017675, 130.20181675, 109.47348838]

选项 1
直接赋值。

df['b'] = vals
print(df)
a b
Index
0 0.671399 137.550212
35 0.446172 125.300177
63 0.614758 130.201817
72 0.634448 109.473488

选项 2
df.assign

df = df.assign(b=vals)
print(df)
a b
Index
0 0.671399 137.550212
35 0.446172 125.300177
63 0.614758 130.201817
72 0.634448 109.473488

选项 3
df.fillna

df.b = df.b.fillna(pd.Series(vals, index=df.index))
print(df)
a b
Index
0 0.671399 137.550212
35 0.446172 125.300177
63 0.614758 130.201817
72 0.634448 109.473488

如果您的值是 Nan(字符串)而不是 NaN( float ),您可以使用 df.replace 转换它:

df = df.replace('Nan', np.nan)

关于python - 用数组替换 pandas 列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760288/

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