python - 用多列对 pandas DataFrame 进行分组
问题描述
假设我在pandas
DataFrame 中有这个:
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Family | Genus | Species | hasHair | laysEggs | canFly | hasLongHorns |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Bovidae | Ovis | Sheep | 1 | 0 | 0 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Passeroidea | Passeridae | Sparrow | 0 | 1 | 1 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Ornithorhynchidae | Ornithorhynchus | Platypus | 1 | 1 | 0 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Bovidae | Ovis | Mouflon | 1 | 0 | 0 | 1 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Passeroidea | Passeridae | Passer | 0 | 1 | 1 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
我想“总结”数据以获得以下信息:
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Family | Genus | Species | hasHair | laysEggs | canFly | hasLongHorns |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Bovidae | Ovis | Sheep | 1 | 0 | 0 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| | | Mouflon | 1 | 0 | 0 | 1 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Ornithorhynchidae | Ornithorhynchus | Platypus | 1 | 1 | 0 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| Passeroidea | Passeridae | Sparrow | 0 | 1 | 1 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
| | | Passer | 0 | 1 | 1 | 0 |
+-------------------+-----------------+----------+---------+----------+--------+--------------+
如您所见,与实际数据处理相比,这是一种增强可读性的布局:属性的值不变。我只想制作一份更易于阅读的报告。
现在,我不确定如何解决这个问题。任何人都可以提供一些指示吗?
谢谢!
R。
解决方案
为了更容易阅读,您可以创建MultiIndex
和排序它:
df = df.set_index(['Family','Genus', 'Species']).sort_index()
推荐阅读
- mysql - 如何从db中选择ip?
- angular - 使用 angular-azure-blob-service 时出现 403 错误
- swift - 使用参数以编程方式创建表视图 - swift
- ios - 如何将 GPS 坐标导航到 CameraView
- mongodb - 可以在 mongoDB Shard 集群中进行增量备份吗?没有 opsmanager
- batch-file - 批处理脚本在操作系统和 Winpe 环境中执行时给出不同的输出
- jquery - Material Design Range Slider:可能有 2 个输入/句柄?
- amazon-web-services - 如何监控 aws api 网关上的获取/发布端点?
- java - 使用 javax.ws.rs.client.WebTarget 处理 APPLICATION_OCTET_STREAM
- c++ - 成员函数 LinkedList::deleteNode 不能重新声明