Python 3.x Python:根据阈值从数值变量生成虚拟变量

Python 3.x Python:根据阈值从数值变量生成虚拟变量,python-3.x,pandas,dummy-variable,Python 3.x,Pandas,Dummy Variable,目标是从df创建一个新列,如果列“%RENERABLE”中的值等于或高于中值,则为1;如果值低于中值,则为0 df = pd.DataFrame({'% Renewable': [np.NaN, 12, np.NaN, 11, 17, 62, 18, 15, np.NaN, 2, np.NaN, np.NaN, 6, np.NaN, 70]}, index=['China', 'United States', 'Japan', 'United Kingdom', 'Russian Federat

目标是从df创建一个新列,如果列“%RENERABLE”中的值等于或高于中值,则为1;如果值低于中值,则为0

df = pd.DataFrame({'% Renewable': [np.NaN, 12, np.NaN, 11, 17, 62, 18, 15, np.NaN, 2, np.NaN, np.NaN, 6, np.NaN, 70]},
index=['China', 'United States', 'Japan', 'United Kingdom', 'Russian Federation', 'Canada', 'Germany', 'India', 'France', 'South Korea', 'Italy', 'Spain', 'Iran', 'Australia', 'Brazil'])
我得到了中位数:

median = df['% Renewable'].median()

但是现在呢?我应该使用get_dummies函数吗?或者剪掉?

这应该可以做到:

df['new_column'] = df['% Renewable'] >= median

哇!这很简单。谢谢;)这将返回一列布尔值。需要将结果乘以1才能得到int。