簡體   English   中英

用數組替換大熊貓列值

[英]Replace pandas column values with array

我有一個數組:

([ 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

我嘗試使用replace,但是沒有用。 還有另一種方法可以將數組轉換為數據框並合並嗎?

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 (浮點數),則可以使用df.replace進行轉換:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM