我有一个 pandas 数据框,其中有一个数字列“金额”。金额从 0 到 20000 不等。我想将其更改为定义范围的分类变量。因此,分类变量将是:
- 0-1000$ 之间
- 1000-2000 美元之间,依此类推..直到 19000-20000 美元
我无法弄清楚如何更改该列。我可以将其更改为如下二进制值:
months["value"] = np.where(months['amount']>=450, 'yes', 'no')
但是,对于具有超过 2 个值的分类变量该怎么办?
您可以使用cut http://pandas.pydata.org/pandas-docs/stable/generated/pandas.cut.html:
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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)