【发布时间】:2021-03-12 03:54:51
【问题描述】:
我有一个数据框:
d = [f1 f2 f3
1 2 3
5 1 2
3 3 1
2 4 7
.. .. ..]
我想为每个特征添加行中该特征值的百分位数(对于特征子集)。
所以对于subset = [f1,f2,f3],我的数据框将是
new_d =[f1 f2 f3 f1_per f2_per f3_per
1 2 3 0 0.25 0.5
5 1 2 1 0 0.25
3 3 1 0.5 0.5 0
2 4 5 0.25 0.75 1
4 5 4 0.75 1 0.75]
最好的方法是什么?
【问题讨论】:
-
是否可以解释这里的百分位数如何?百分位函数中的
q是什么?DataFrame.quantile? -
@jezrael 是的,意思是这个特征的值有多少百分比小于特定行的值
-
@jezrael 抱歉,我不确定我是否理解?对于每个数字,我想知道较小的数字的比率是多少。所以,如果轴是 [1,2,3,4,5] 那么数字 4 是 0.75,因为其他数字的 3/4 比他小。
-
是的,我不确定,因为输入数据是 4 行,输出是 5 行。所以输出与您的数据不同(如果了解需要什么。)
标签: python pandas dataframe data-science data-munging