python - 在一列中对另一列中共享相同值的值进行分组(熊猫:groupby.apply/multi-index)
问题描述
我正在使用以下数据框这只是 df 的一部分
我想创建一个多索引数据框,其中顶级索引是title_no
,子索引是所有release_no
共享相同的值title_no
。
我曾尝试使用 groupby.apply 方法,但这会将release_no's
具有相同内容的列分组title_no
并消除其余列:
df = pd.DataFrame(df.groupby('title_no')['release_no'].unique()).reset_index()
理想情况下,我希望我的数据框看起来像这样:
title_no release_no name country_id
199034
732644 Jurassic Park III ES
891376 Jurassic Park III CA
732658 Jurassic Park III TH
199052
1119213 Myth of Fingerprints IT
925041 Myth of Fingerprints ES
448432 Myth of Fingerprints US
564033 Myth of Fingerprints FR
...
有没有办法在熊猫中做到这一点,我可以在其中列出相同的行,title_no
并能够在一个级别上索引行title_no
,然后release_no
在较低级别上索引?
解决方案
你不需要 a groupby
;排序就足够了:
df.sort_values(['title_no', 'release_no']).set_index(['title_no', 'release_no'])
推荐阅读
- tensorflow - 在自定义 Keras 回调中使用 super
- python - Conda install 搞砸了我的环境。我可以撤消吗?
- mysql - 在 mysql WorkBench 中从模式中的 CSV 导入表需要太长时间
- vb.net - 如何在读取文本文件后将其某些部分输出到列表框 - Visual Basic 2010 Express
- python-3.x - 基于索引的两个多级数据帧的乘法和加法
- java - java - 如何在不使用包的情况下识别给定路径是Java中的文件还是目录?
- crystal-lang - 无法从水晶游戏中访问模型
- python - 在 conda 环境中管理 python 版本
- python - 与 pandas 和 GNU Parallel 并行将数据导入 MySQL
- excel - 为什么VBA根据值是否在数组中计算不同?