我正在遍历一个数据框,从中获取信息,然后使用该信息查找一些指标。我有类似的东西

数据框1:

|   student 1     |   student 2    |
|   kate          |   john         |
|   david         |   kelly        |



数据框2:

|   student       |       A      |       B      |
|   kate          |       17     |       8      |
|   david         |       20     |       15     |
|   john          |       17     |       40     |



基本上,我会叫凯特和约翰。然后,我将遍历数据框2并寻找这两个学生。然后,我想找到它们在A和B列中所坐的百分位数。

perc = stats.percentileofscore(student1Info[1],data['A'] , 'rank')



其中student1Info[1]保留17(凯特的值在A列中)

但它导致错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().


我将不胜感激任何建议。另外,我是否可以使用类似的方法来查找日期时间的百分位数。例如,我为每个学生提供了很多提交时间,并且我想查找学生提交时间所占的百分比。

谢谢!!

最佳答案

在函数scipy.stats.percentilieofscore中,您需要将数组用作第一个参数,将score作为第二个参数:

perc = stats.percentileofscore(data['A'], data.loc['kate', 'A'])



  scipy.stats.percentileofscore(a,score,kind ='rank')

关于python - 计算百分比使用 Pandas ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59120183/

10-14 17:37