Skip to main content
 首页 » 编程设计

python之如何在 DataFrame 中按值对数字进行分类

2025年05月04日15小虾米

与:

import pandas as pd      
df = pd.DataFrame({'a':[1,2,3,4,5,12,14,121,131,298,299,1001]}) 
print df.a.mean() 

返回所有数字的平均值:

157.583333333 

一半的数字都小于100。我想知道是否有办法将这些数字分成几类(本质上是对它们进行分类)。我会指定要将数字分类到的组数,该函数将返回一个列表,其中每个数字都替换为相应类别的索引。所以小于 100 的数字将被赋予整数类别 1。然后 100 - 200 的数字将被赋予类别 2 等等。本质上是某种舍入函数,它将数字舍入到值的范围内:从 0 到 100,从 100.1 到 200.0 等等

请您参考如下方法:

import pandas as pd      
df = pd.DataFrame({'a':[1,2,3,4,5,12,14,121,131,298,299,1001]}) 
df['category'] = df['a'] // 100 + 1 
print(df[['a', 'category']]) 
 
       a  category 
0      1         1 
1      2         1 
2      3         1 
3      4         1 
4      5         1 
5     12         1 
6     14         1 
7    121         2 
8    131         2 
9    298         3 
10   299         3 
11  1001        11