简体   繁体   English

使用Merge UnPivot Pandas数据集

[英]UnPivot a Pandas Data Set with Merge

How do I transform this starting data set into a flattened data set with a Python Pandas data frame? 如何使用Python Pandas数据框将此起始数据集转换为展平数据集?

启动数据

Like this flattened data: 像这个扁平的数据:

在此输入图像描述

I tried to "stack" the data and reset the index, but this produced an undesired result. 我试图“堆叠”数据并重置索引,但这会产生不希望的结果。

df = xl.parse("data")
stack = df.stack(-1).reset_index(0)

Thanks in advance for your help. 在此先感谢您的帮助。

You're looking for melt (aka "unpivot"): 你正在寻找melt (又名“unpivot”):

In [11]: df = pd.DataFrame([["a", "b", 43, 87, 29]], columns=["N", "P", 1, 2, 3])

In [12]: pd.melt(df, id_vars=["N", "P"], value_vars=[1, 2, 3], var_name="Day")
Out[12]:
   N  P Day  value
0  a  b   1     43
1  a  b   2     87
2  a  b   3     29

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM