我有一個數據框包含國家名稱&其能源產出的百分比。 根據國家的能源產出是高於還是低於能源產出的中位數,我需要添加一個分配1或0的新列。有些啞代碼:熊貓DataFrame - 基於其他列分配1,0值
import pandas as pd
def answer():
df = pd.DataFrame({'name':['china', 'america', 'canada'], 'output': [33.2, 15.0, 5.0]})
df['newcol'] = df.where(df['output'] > df['output'].median(), 1, 0)
return df['newcol']
answer()
代碼返回ValueError異常:數通過2項的錯誤,安置意味着1
我覺得這是一個非常簡單的解決方法,但我是新與大熊貓的工作。 請幫助結束我的沮喪
嗯,總有 - 爲什麼我沒有想到:) – Vaishali
非常感謝!我曾嘗試布爾掩碼,但努力重新格式化返回的True | False值。我對熊貓非常陌生,我發現它很難學習所有的文檔。你和@Vaishali已經非常翔實:) –