为了账号安全,请及时绑定邮箱和手机立即绑定

pandas 将 AB 组与 BA 结合,丢弃 BA

pandas 将 AB 组与 BA 结合,丢弃 BA

慕的地8271018 2022-12-14 10:55:12
+-----------------------+----------------+--------------------+| route_group_essential | essential_move | non-essential_move |+-----------------------+----------------+--------------------+| from_to               |                |                    || placeA>placeB         |           11.0 |               11.0 || placeB>placeA         |              0 |                2.0 || placeC>placeD         |            3.0 |                1.0 || placeD>placeC         |            2.0 |                1.0 |+-----------------------+----------------+--------------------+我想合并 A>B 和 B>A 行并对它的值求和,丢弃一行。预期输出:+-----------------------+----------------+--------------------+| route_group_essential | essential_move | non-essential_move |+-----------------------+----------------+--------------------+| from_to               |                |                    || placeA>placeB         |           11.0 |               13.0 || placeC>placeD         |            5.0 |                2.0 |+-----------------------+----------------+--------------------+
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

Index如果第一列是索引,则由排序的元组创建新的帮助程序:


g = df.index.map(lambda x: tuple(sorted(x.split('>'))))

然后在聚合通过以下方式将索引转换为列之前DataFrame.reset_index:


df = (df.reset_index()

        .groupby(g)

        .agg({'from_to':'first',

              'essential_move':'sum',

              'non-essential_move':'sum'})

        .reset_index(drop=True))

print (df)

                from_to  essential_move  non-essential_move

0         placeA>placeB            11.0                13.0

1         placeC>placeD             5.0                 2.0


查看完整回答
反对 回复 2022-12-14
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号