我有以下示例 DataFrame 定义如下:
df1 = pandas.DataFrame(data = {"Age":[28, 3, 32, 18], "Student":[False, True, False, False]}, index = ["Jack", "Sam", "Nate", "Jack"])
输出如下。
如果我想提取年龄值最大的 2 行,我使用 pandas.nlargest(2, "Age")
并且输出有 3 行而不是 2 行,如下所示:
如果我尝试使用 pandas.nlargest(4, "Age")
获取 4 个最大的 Age 值,结果会更加困惑,如下所示:
我对理解其背后的原因感到困惑。
最佳答案
问题已解决。我使用的 Pandas 版本是 0.19.1 及之后 suggestion of @user35603我将其更新到0.19.2并重新执行代码,它工作了!
谢谢user35603 !
以下错误已在 Pandas 0.19.2 中修复:
- 索引具有重复值时
DataFrame.nlargest
和DataFrame.nsmallest
中的错误 ( GH13412 )
注意:bug still remains应用于计数函数时的 nlargest 函数
关于python - pandas.nlargest() - 与重复的索引值混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42189312/