1
我有一個熊貓DF 2列A和B.我需要的是一個新的合併列「結果」,其中A優於B.我真的認爲這將是容易的,但仍然沒有解。你們會怎麼做?謝謝你的幫助。合併2列優先
A B result
go for go
go go
go go
for for
for for
我有一個熊貓DF 2列A和B.我需要的是一個新的合併列「結果」,其中A優於B.我真的認爲這將是容易的,但仍然沒有解。你們會怎麼做?謝謝你的幫助。合併2列優先
A B result
go for go
go go
go go
for for
for for
df['result'] = df['A'].combine_first(df['B'])
print (df)
A B result
0 go for go
1 go NaN go
2 go NaN go
3 NaN for for
4 NaN for for
或者:
df['result'] = df['A'].fillna(df['B'])
print (df)
A B result
0 go for go
1 go NaN go
2 go NaN go
3 NaN for for
4 NaN for for
編輯:
對於更換空的空間NaN
的使用:
df = df.replace('', np.nan)
或者:
df = df.mask(df == '')
jezrael感謝您的回覆。我其實有空值,而不是楠表並在第一次無法重現您的解決方案,直到我明白,我必須一切爲NaN空值轉換爲使combine_first工作。 – Vinh
而我只是收集足夠的分數,現在就可以投票答案,這就是soooo cooool! – Vinh
你需要DF = df.replace( '',np.nan)或DF = df.mask( '')。我只用手機,所以未經測試。 – jezrael