【发布时间】:2019-08-08 04:03:45
【问题描述】:
目前,我有一个这样的数据框:
0 0 0 3 0 0
0 7 8 9 1 0
0 4 5 2 4 0
我的堆叠代码:
dt = dataset.iloc[:,0:7].stack().sort_index(level=1).reset_index(level=0, drop=True).to_frame()
dt['variable'] = pandas.Categorical(dt.index).codes+1
dt.rename(columns={0:index_column_name}, inplace=True)
dt.set_index(index_column_name, inplace=True)
dt['variable'] = numpy.sort(dt['variable'])
但是,当我堆叠它时它会丢弃第一行,我想保留标题/第一行,我该如何实现?
本质上,我丢失了第一行的数据(也就是列标题),我想保留它。
期望的输出:
value,variable
0 1
0 1
0 1
0 2
7 2
4 2
0 3
8 3
5 3
3 4
9 4
2 4
0 5
1 5
4 5
0 6
0 6
0 6
当前输出:
value,variable
0 1
0 1
7 2
4 2
8 3
5 3
9 4
2 4
1 5
4 5
0 6
0 6
【问题讨论】:
-
你的预期输出是什么
-
@TylerWayne 我相信我们可以为您提供答案,但您需要为我们做更多的工作来解释您想要什么。
-
我在帖子中添加了更多信息。
-
这是 df.melt() 吗?
-
或者
df.values.flatten('F')