SQL中是否有相当于Excel的PERCENTRANK(列,值)?我认为本机SQL Server函数只提供来自同一列的百分位数,但我错过了什么吗?
问题在于我有两列--A和B - 我需要使用A列中的值分布,然后从另一列中获取值并将它们与列A进行排名 - B中的值如何适合定义的分布按A列(或者,确切地说:在B定义的点处得到A列的CDF)。
可能的解决方案:
我需要应用此策略的多个列包含值和分布,因此我正在寻找有效的解决方案。
编辑 - 示例:
column A column B result
10 16 0,20 =PERCENTRANK($A1:$A4, B1)
20 35 0,83 =PERCENTRANK($A1:$A4, B2)
30 10 0,00 =PERCENTRANK($A1:$A4, B3)
40 25 0,50 =PERCENTRANK($A1:$A4, B4)
答案 0 :(得分:0)
这可以作为一个近似的,而不是万无一失的数值解决方案,将列作为名称传递:
df.loc[row index condition, [column to replace vals]] = newdf[column].values