Dre*_*ams 5 python numpy dataframe pandas
我有一个pandas数据帧,其数字列为"amount".数量从0到20000不等.我想将其更改为定义范围的分类变量.因此,分类变量将是:
我无法弄清楚如何更改列.我可以将其更改为二进制值,如下所示:
months["value"] = np.where(months['amount']>=450, 'yes', 'no')
Run Code Online (Sandbox Code Playgroud)
但是,如何对具有2个以上值的分类变量进行此操作?
你可以使用cut:
df = pd.DataFrame({'B':[4000,5000,4000,9000,5,11040]})
df['D'] = pd.cut(df['B'], range(0, 21000, 1000))
print (df)
B D
0 4000 (3000, 4000]
1 5000 (4000, 5000]
2 4000 (3000, 4000]
3 9000 (8000, 9000]
4 5 (0, 1000]
5 11040 (11000, 12000]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3108 次 |
| 最近记录: |