我有一個有兩列的數據框。我想創建一個第三列,例如,如果Col1中爲null,則COL3 = col2的,否則COL3 = Col1中* 2如何創建一個列作爲其他兩個函數?
我曾嘗試:
def myf(col1,col2):
if pd.isnull(col1):
return col2
else:
return col1 * 2
df['col3'] = df.apply(lambda x: myf(df['col1'], df['col2']), axis= 1)
但我得到一個錯誤,「「的一個系列的真實價值是不明確的「。
我該如何解決這個問題? 我知道這是一個平庸的問題,但我的微小的習慣於SQL的大腦仍然在努力(大時間!)以瞭解熊貓的工作原理;也許我很愚蠢,也許熊貓的文檔很差,也許都:)
據我所知,適用於DataFrame的行/列的基礎上,applymap工作元素明智的DataFrame和地圖作品元素在一個系列,我知道錯誤出現,因爲pd.isnull返回一個T/F數組。
但是,我不知道如何在像這樣的情況下使用applymap或map,其中兩個其他列是我的輸入。
謝謝!
相反做'DF [ 'COL3'] = np.where(df.Col1.isnull(),df.Col2,df.Col1 * 2) ' – Zero