【发布时间】:2020-08-14 13:30:54
【问题描述】:
我有一个包含 126 列的巨大数据框。我想添加一个额外的级别(多索引),我希望有 5 个类别,因此 126 列中的每一列都属于相应的类别。我找到了许多定义级别并写下要附加到该级别的所有列的解决方案,这非常耗时,因为我必须对 126 列进行分组。有没有更快的方法来做到这一点?例如,像.iloc[:,9:44] 这样的切片列,因为我想将这 35 列归为一个类别?
数据框如下所示:
df
a b c... d e f... g h i... j k l... n=126
1 1.0 1.0 1.0 2.0 3.0 2.0 1.0 1.0 1.0 2.0 3.0 2.0
2 4.0 5.0 4.0 4.0 8.0 4.0 4.0 5.0 4.0 4.0 8.0 4.0
3 6.0 1.0 6.0 7.0 8.0 7.0 6.0 1.0 6.0 7.0 8.0 7.0
解决方案如下所示:
df2
A | B | C | D n=5
a b c... | d e f... | g h i... | j k l n=126
1 1.0 1.0 1.0 2.0 3.0 2.0 1.0 1.0 1.0 2.0 3.0 2.0
2 4.0 5.0 4.0 4.0 8.0 4.0 4.0 5.0 4.0 4.0 8.0 4.0
3 6.0 1.0 6.0 7.0 8.0 7.0 6.0 1.0 6.0 7.0 8.0 7.0
【问题讨论】:
-
添加一级的逻辑是什么?
-
a,b,c,d 等代表生物标志物的名称,而 A、B、C、D 代表生物标志物组。我想添加组级别以获得更好的顺序。
标签: pandas dataframe slice multi-index