我用熊猫来分析我的数据,并执行:如何在pandas python中将值列转换为分位数?
df = pd.DataFrame(datas, columns=['userid', 'recency', 'frequency', 'monetary'])
print df
userid recency frequency monetary
0 47918 9 53 788778
1 48302 85 10 232323
2 8873 3 79 2323
3 63158 23 23 2323232
4 364 14 43 232323
5 45191 1 75 224455
6 21061 9 64 23367
7 41356 22 55 2346777
8 42455 14 30 23478
9 65460 3 16 2345
我需要recency
frequency
和monetary
转换值到值范围1-5。所以输出是
userid recency frequency monetary
0 47918 1 2 3
1 48302 2 1 2
2 8873 3 4 5
3 63158 2 2 2
4 364 5 4 2
5 45191 1 5 4
6 21061 4 4 3
7 41356 3 5 4
8 42455 5 3 5
9 65460 3 1 2
怎么能在python中做到这一点?
THX
位数的分数百分位,因此无法比较而不是1.0,所以你的问题没有意义,你可以显示所需的输出,或者你是否像'df [['recency','freque ncy']]。apply(lambda x:x.quantile(np.linspace(0,1,5)))'? – EdChum
@EdChum是的,这是不一样的,我想...我已经更新我的问题 – ihsansat