python - pandas.nlargest() - 与重复的索引值混淆

标签 python pandas dataframe

我有以下示例 DataFrame 定义如下:

df1 = pandas.DataFrame(data = {"Age":[28, 3, 32, 18], "Student":[False, True, False, False]}, index = ["Jack", "Sam", "Nate", "Jack"])

输出如下。

enter image description here

如果我想提取年龄值最大的 2 行,我使用 pandas.nlargest(2, "Age") 并且输出有 3 行而不是 2 行,如下所示:

enter image description here

如果我尝试使用 pandas.nlargest(4, "Age") 获取 4 个最大的 Age 值,结果会更加困惑,如下所示:

enter image description here

我对理解其背后的原因感到困惑。

最佳答案

问题已解决。我使用的 Pandas 版本是 0.19.1 及之后 suggestion of @user35603我将其更新到0.19.2并重新执行代码,它工作了!

谢谢user35603 !

以下错误已在 Pandas 0.19.2 中修复:

  • 索引具有重复值时 DataFrame.nlargestDataFrame.nsmallest 中的错误 ( GH13412 )

注意:bug still remains应用于计数函数时的 nlargest 函数

关于python - pandas.nlargest() - 与重复的索引值混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42189312/

相关文章:

python - 创建字节范围(用于请求部分数据)

python - 在同一个 IPython Notebook 单元格中制作多个图表

python - Pandas for 循环将列复制到单独的数据帧,相应地重命名 df

python - 有条件地选择和设置列值

python - 解析目录和所有子目录中的所有 XML 文件

python - 如何访问 pandas DataFrame 中除第一列之外的所有列?

python - 系列的长度与 np.where 不匹配

python - 使用 pandas-drop() 删除列 - 函数不起作用

python - 使用 Unicode 发送 HTML 邮件

python - 从数据框 Python 字典中获取单独的数据框