我正在遍历一个数据框,从中获取信息,然后使用该信息查找一些指标。我有类似的东西
数据框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/