1
我有一個用索引和列準備的熊貓數據框,所有的值都是NaN。 現在我計算了一個結果,它可以用於DataFrame的多行,並且我想一次性將它們全部賦值。這可以通過一個循環完成,但我很確定這個任務可以一次完成。爲一系列熊貓數據框分配一個系列
這裏有一個場景:
import pandas as pd
df = pd.DataFrame(index=['A', 'B', 'C'], columns=['C1', 'C2']) # original df
s = pd.Series({'C1': 1, 'C2': 'ham'}) # a computed result
index = pd.Index(['A', 'C']) # result is valid for rows 'A' and 'C'
簡易方法是
df.loc[index, :] = s
但是這並不會改變數據幀。它仍然如
C1 C2
A NaN NaN
B NaN NaN
C NaN NaN
這個任務如何完成?
確實,這似乎適用於這種情況。但是,我覺得需要確保序列和DataFrame的列順序是相同的,對嗎?即''df.loc [index,:] = s [df.columns] .values'' – Nras
@Nras好點!謝謝。據此編輯。 – Divakar