【发布时间】:2017-06-01 14:56:52
【问题描述】:
我有一个如下所示的表格:
import pandas as pd
x = '1233312332344344'
y = ['Name_' + str(i) for i, _ in enumerate(x)]
df = pd.DataFrame({'level': list(x), 'names': y})
看起来像这样:
level names
0 1 Name_0
1 2 Name_1
2 3 Name_2
3 3 Name_3
4 3 Name_4
5 1 Name_5
6 2 Name_6
7 3 Name_7
8 3 Name_8
9 2 Name_9
10 3 Name_10
11 4 Name_11
12 4 Name_12
13 3 Name_13
14 4 Name_14
15 4 Name_15
有没有办法用 pandas 重塑这个 df,以获得这个结果(基于 level 列)?
1 2 3 4
Name_0
Name_0 Name_1
Name_0 Name_1 Name_2
Name_0 Name_1 Name_3
Name_0 Name_1 Name_4
Name_5
Name_5 Name_6
Name_5 Name_6 Name_7
Name_5 Name_6 Name_8
Name_5 Name_9
Name_5 Name_9 Name_10
Name_5 Name_9 Name_10 Name_11
Name_5 Name_9 Name_10 Name_12
Name_5 Name_9 Name_13
Name_5 Name_9 Name_13 Name_14
Name_5 Name_9 Name_13 Name_15
这是一种源 df,但所有层次结构级别都填充在行中。
【问题讨论】:
标签: python pandas hierarchy reshape