如何在数据框中使用 if 循环

How to use an if loop in a dataframe

问题:如果该国家/地区的可再生能源百分比值等于或高于前 15 名所有国家/地区的中位数,则创建一个新列,如果该国家/地区的可再生能源百分比值低于中位数,则创建一个 0。

我的解决方案:

medi = Top15['% Renewable'].median()

if Top15['% Renewable'] >= medi:

    Top15['new col'] = 1

else:

    Top15['new col'] = 0

Top15

错误:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

求助:谁能告诉我为什么会出现这个错误?Click on this link to see the dataframe

申请 df['new column name'] = df['column name'].apply(lambda x: 'value if condition is met' if x condition else 'value if condition is not met')

medi = Top15['% Renewable'].median()
Top15['new col'] = Top15['% Renewable'].transform(lambda value: 1 if value>=medi else 0)
medi = Top15['% Renewable'].median()
Top15['new col'] = Top15['% Renewable'].apply(lambda x:1 if x>medi else 0)