如何按 MultiIndex 和值对 Pandas DataFrame 进行排序?

2023-11-26

样本数据:

mdf = pd.DataFrame([[1,2,50],[1,2,20],
                    [1,5,10],[2,8,80],
                    [2,5,65],[2,8,10]
                   ], columns=['src','dst','n']); mdf

    src dst n
0   1   2   50
1   1   2   20
2   1   5   10
3   2   8   80
4   2   5   65
5   2   8   10

groupby()给出一个两级多索引:

test = mdf.groupby(['src','dst'])['n'].agg(['sum','count']); test

        sum count
src dst 
1   2   70  2
    5   10  1
2   5   65  1
    8   90  2

问题:如何对此 DataFrame 进行排序src上升,然后通过sum下降?

我是 pandas 的初学者,了解了 sort_index() 和 sort_values(),但在这个任务中,我似乎同时需要两者。

预期结果,在每个“src”下排序由“sum”确定:

        sum count
src dst 
1   2   70  2
    5   10  1
2   8   90  2
    5   65  1

万一其他人也使用谷歌遇到这个问题。从 pandas 版本 0.23 开始,您可以将级别名称作为参数传递给sort_values:

test.sort_values(['src','sum'], ascending=[1,0])

Result:
         sum  count
src dst            
1   2     70      2
    5     10      1
2   8     90      2
    5     65      1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按 MultiIndex 和值对 Pandas DataFrame 进行排序? 的相关文章

随机推荐

  • php中的正则表达式:取最短匹配

    我正在尝试做一个 PHP 正则表达式 但我找不到正确的方法 想象一下我有这个字符串 你好 我的 名字是彼得 和 我想吃巧克力 我想取 和 之间的部分 但如果我使用preg match string 它只返回一个字符串 名字是彼得 和 我想吃
  • Url.Action 从 Route 属性映射了错误的链接

    这是目标控制器和操作 RoutePrefix Editor public class EditorController Controller HttpGet Route id int public ActionResult Edit int
  • 如何在SQL Server中使用批量插入写入UTF-8字符?

    我正在对 sqlserver 进行批量插入 但它没有正确地将 UTF 8 字符插入数据库 数据文件包含这些字符 但执行批量插入后数据库行包含垃圾字符 我的第一个怀疑是格式文件的最后一行 10 0 3 1 SQLCHAR 0 0 1 INST
  • 如何通过 Google Maps API 找到最近的十字路口?

    如何找到距离我最近的街道的坐标 例如 假设我有一条从南到北的街道 A 北边有 X 街道 南边有 Y 街道 Google 地图 API 是否允许查找街道 A 最近的十字路口 X 或 Y 的坐标 我找不到任何地方提到过它 PS 我知道的唯一解决
  • Eclipse - 调试器不会在断点处停止

    我正在尝试对 JUnit 进行故障排除 在源代码中 我在两个位置设置了断点 1 在初始化静态成员的行中2 其中一个测试用例的第一行 调试器在静态字段初始化行停止 但它并不止于测试用例 无论我在测试用例中的何处设置断点 调试器都不会在那里停止
  • Django 表单总是显示错误“此字段为必填字段”

    当我渲染表单时 django 总是在每个字段上显示错误消息 此字段是必需的 即使没有提交表格 可能是什么问题呢 这是我的模型表格 class MMEditidStateForm forms ModelForm class Meta mode
  • 生成器与列表理解

    我有一些东西 当作为列表理解运行时 运行良好 看起来像 myClass Function things for things in biggerThing Function是一个方法 它构建一个列表 该方法本身不返回任何内容 但会在其中对列
  • QR 分解求解 CUDA 中的线性系统

    我正在GPU上写一个图像恢复算法 详细信息在 Cuda 最小二乘求解 速度较差 求解线性系统的QR分解法 Ax b 工作原理如下 min Ax b gt QRx b gt Q T QRx Q T b gt Rx Q T b where R是
  • 接口中的 C# 数据注释

    快速提问 如果我在界面中添加注释 说 必填 我可以在属性的 C 类中省略该符号吗 即我可以 interface IFoo Required string Bar get set class Foo IFoo string Bar get s
  • 导入 HoloEverywhere 时出错

    首先 我是 Android 新手 我正在做一个应用程序 并且正在实现一个名为的库无处不在的全息 这个库在themes xml 中使用ActionBar Sherlock 库 我已将 ActionBar Sherlock 导入到我的工作区 并
  • eclipse 在 ubuntu 14.04 上崩溃

    我在 ubuntu 13 10 上使用了 google android ide adt eclipse 它很好 当我升级 ubuntu 14 04 时 当 eclipse 崩溃时 它会提示方法等 日志如下 谁能帮我 谢谢 A fatal e
  • EF4可以支持批量更新吗?

    实体框架 v4 是否支持批量更新 插入 因此它可以一次性向数据库发送 gt 1 个命令 而不是向数据库发送 gt 1 个命令 Thanks 我不相信这已经改变了 您有以下选择 存储过程 像这篇文章这样的东西 使用 T Sql 之类的在这个问
  • pytorch模型总结——forward func有多个参数

    我正在使用火炬摘要 from torchsummary import summary 我想在打印模型摘要时传递多个参数 但这里提到的示例 pytorch中的模型总结只采取了一个论点 例如 model Network to device su
  • 即使元素的值也在 CSS 中设置,也能获取内联样式值吗?

    如果你有以下元素 span style width 100px span CSS 是 span width 50px important 有没有办法获取内联样式值并忽略 css 值 Thanks use element style widt
  • 使用 apache 和 mod_wsgi 的 Flask hello world 仅显示 webroot 中的文件

    我正在尝试使用 wsgi 从 Flask 站点通过 apache2 运行基本的 hello py 我的代码如下所示 var www flask dev hello py from flask import Flask app Flask n
  • 在哪里可以找到 PythonMagick 文档?

    我似乎无法在任何地方找到 PythonMagick ImageMagick 的绑定 文档 即使下载也没有 docs 文件夹 请问链接 我认为它不再活跃了 看这里
  • py2exe - 生成单个可执行文件

    我以为我听到了py2exe能够做到这一点 但我从未弄清楚 有人成功做到这一点吗 我可以查看您的 setup py 文件以及您使用的命令行选项吗 基本上我想它给我一个可执行文件 它可以执行诸如将自身解压缩到 temp 并运行之类的操作 使用
  • 如何设置 CG_CONTEXT_SHOW_BACKTRACE 环境变量?

    我认为有三个按钮 在 viewDidLoad 中设置cornerRadus后 button layer cornerRadius 20我在日志中收到以下错误消息
  • 在 Spring Boot 启动器中覆盖 log4j2 版本

    我们正在尝试构建一个 Springboot 启动器 它将以编程方式创建 log4j2 配置 因此开发人员不必费心创建 log4j2 xml 文件 问题在于 log4j2 编程 API 随版本的不同而变化 我们已经使用 log4j2 2 5
  • 如何按 MultiIndex 和值对 Pandas DataFrame 进行排序?

    样本数据 mdf pd DataFrame 1 2 50 1 2 20 1 5 10 2 8 80 2 5 65 2 8 10 columns src dst n mdf src dst n 0 1 2 50 1 1 2 20 2 1 5