我试图像在SAS中使用Proc Rank代码一样在Python中进行分组/排名。我试过的代码是
Merge_Data['FrSeg'] = Merge_Data['Frequency'].rank(method='dense').astype(int)
它给了我一个带有相同数字的输出。我想分成3个。 例如,频率从等级1中的1-10,等级2中的11-20和等级3中的21-以上。我有min = 1和max = 68频率(如果您想知道,则输入数字订单)。< / p>
感谢您的提前帮助
答案 0 :(得分:0)
school is not defined
输出:
import pandas as pd
import numpy as np
# dataframe to hold the list of values
df = pd.DataFrame({'FrSeg': [33, 66, 26, 5, 16, 31, 34, 10, 17, 40]})
# set the rank ranges
ranges = [0, 10, 20, 68]
# pandas.cut:
# returns indices of half-open bins to which each value of 'FrSeg' belongs.
print df.groupby(pd.cut(df['FrSeg'], ranges)).count()