有一个列称为国家/地区的“可再生百分比”。我想创建一个列,如果该列中的值高于该列的中值,则由1组成;如果它低于中值,则创建0。这是我的代码
def answer_ten():
Top15 = answer_one()
avg=Top15['% Renewable'].median(axis=0)
print(avg)
#print(Top15['% Renewable'])
for value in Top15['% Renewable']:
if(value>=avg):
Top15['HighRenew']=1
else:
Top15['HighRenew']=0
print(Top15[['HighRenew','% Renewable']])
Top15['HighRenew']=Top15['HighRenew'].sort_values(ascending = False)
answer_ten()
但是我得到的输出是:
14.96908
HighRenew % Renewable
Country
Australia 0 11.810810
Brazil 0 69.648030
Canada 0 61.945430
China 0 0.000000
France 0 17.020280
Germany 0 17.901530
India 0 14.969080
Iran 0 5.707721
Italy 0 33.667230
Japan 0 10.232820
Russian Federation 0 17.288680
South Korea 0 2.279353
Spain 0 37.968590
United Kingdom 0 10.600470
United States 0 11.570980
平均值为14.96908。提前感谢。
IIUC的使用
(df['% Renewable'].gt(df['% Renewable'].median())).astype(int)
输出:
country
Australia 0
Brazil 1
Canada 1
China 0
France 1
Germany 1
India 0
Iran 0
Italy 1
Japan 0
Russian Federation 1
South Korea 0
Spain 1
United Kingdom 0
United States 0
Name: % Renewable, dtype: int64
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句