熊猫如何在数据框的相应列检查行的每个元素的百分位数

Posted

技术标签:

【中文标题】熊猫如何在数据框的相应列检查行的每个元素的百分位数【英文标题】:Pandas how to check percentile of each element of a line at a corresponding column of dataframe 【发布时间】:2021-11-22 02:07:45 【问题描述】:

我有一个清单:

l = [4,1,6,7]

还有一个数据框df:

   0  1  2  3
0  1  2  3  4
1  5  4  1  0
2  7  5  0  9

我想,对于列表中的每个元素,在数据框中的位置列中获取小于他的数字数量。 所以在这里,输出将是:

[1,0,3,2]

最好的方法是什么?

【问题讨论】:

您的变量 df 不是 DataFrame,甚至不是有效的 Python @DaniMesejo 我修好了 【参考方案1】:

你可以这样做:

df.lt(l).sum().to_list()

输出:

[1, 0, 3, 2]

输入数据框:

>>> df
   0  1  2  3
0  1  2  3  4
1  5  4  1  0
2  7  5  0  9

【讨论】:

如何添加相对位置? (得到 [0.33,0,1,0.66]) 你的意思是s = df.lt(l).sum() ; (s/s.max()).to_list()还是df.lt(l).mean() 通过点赞删除了 DV

以上是关于熊猫如何在数据框的相应列检查行的每个元素的百分位数的主要内容,如果未能解决你的问题,请参考以下文章

使用百分位数从熊猫数据框中删除异常值

滚动百分位数 - 熊猫

如何获得熊猫数据框中一行的百分位数?

将每个列表值映射到其相应的百分位数

如何在熊猫数据框的每一行中找到选定列中的两个最低值?

如何将多索引列转换为熊猫数据框的单索引列?