我有一个数据框包含国家名称&其能源产出的百分比。 根据国家的能源产出是高于还是低于能源产出的中位数,我需要添加一个分配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已经非常翔实:) –