我想根据另一列值的范围在熊猫中创建一个新列。我已经尝试了一些东西,但是还没有解决。假设我有一个列“ gdp”,我想创建一个基于“ gdp”范围的分类的新列。gdp低于1000的行应归类为低gdp在1000-2000之间的行应分类为中等,依此类推。
dff['class'] = dff[(dff['gdp'] <= 1000 == 'Low') & ((dff['gdp'] >= 1000 )\
&(dff['gdp'] <= 2000 ) == 'Medium') & ((dff['gdp'] > 2001 ) == 'High')]
这是pd.cut
:
df['class'] = pd.cut(df['gdp'], [-np.inf, 1000, 2000, np.inf], labels=('Low', 'Medium', 'High'))