比方說,我有一個數據框df
,其中包含數字列"A", "B", "C"...
以及布爾列"DEFAULT"
。我還有一個特殊列的列表,例如special = ["A", "D", "E", "H", ...]
,以及相應的默認值列表:default = [a, d, e, h, ...]
。我想要做的是:對於DEFAULT
爲True
的每一行,將特殊列的值替換爲相應的默認值。有條件地用Pandas中的默認值替換幾列
當然,我可以通過數據框手動循環,但這很醜,可能很慢。
我已經試過各種直觀的方式,如:
df[df.DEFAULT][special] = default
或
df[special] = df[special].where(not df.DEFAULT, default, axis = 1)
但沒有我嘗試的工作。我也讀了很多類似的問題,但似乎沒有任何工作適合我。對不起,如果我錯過了正確的。輸入數據的
例子:
df = pd.DataFrame(np.random.rand(10,10))
df.columns = list('ABCDEFGHIJ')
df["DEFAULT"] = [False,False,True,False,True,False,False,True,True,False]
special = list("ADGI")
default = [1,2,3,4]
你能後的'pd.DataFrame()'所以我們可以重現嗎? –
@Joe R,參見編輯。 – Julien
爲什麼選擇投票? – Julien