我有一个数据集(171列),当我把它放到我的数据帧中时,它看起来像这样-
ANO MNO UJ2010 DJ2010 UF2010 DF2010 UM2010 DM2010 UA2010 DA2010 ...
1 A 113 06/01/2010 129 06/02/2010 143 06/03/2010 209 05/04/2010 ...
2 B 218 06/01/2010 211 06/02/2010 244 06/03/2010 348 05/04/2010 ...
3 C 22 06/01/2010 114 06/02/2010 100 06/03/2010 151 05/04/2010 ...
现在我想这样改变我的数据帧-
^{pr2}$我试图使用pd.melt
,但我认为它不能完全满足我的目的。在
如果有人在这个问题上帮助我,那就太好了:)
在筛选要分组到不同标题下的列之后,请使用^{} 作为^{} 的最接近替代项。在
通过使用
pd.lreshape
,当您将dictionary对象作为它的groups
参数注入时,键将采用新的头名称,而作为dict
值的所有列名列表都将被强制转换到该头下。因此,它在转换之后生成一个长格式的DF
。在最后,对未使用的列进行
DF
w.r.t排序,以相应地对齐这些列。在然后,在末尾添加
reset_index(drop=True)
,通过删除中间索引,将索引轴重新标记为默认整数值。在如果分组列的长度不匹配,则:
^{pr2}$继续上面提到的对
pd.lreshape
执行相同的步骤,但这次包含了dropna=False
参数。在您可以通过^{} 来重塑形状,但是首先在具有}的列中创建{}。在
%
和{MultiIndex
值将对Time
和{MultiIndex
的第二层,//
由2
构成,每对的差异由模除(%
)产生。在然后
stack
使用//
创建的最后一个级别,并在index
中创建新的多索引级别,这是不必要的,因此被reset_index(level=2, drop=True)
删除。在将第一级和第二级转换为
columns
的最后一次重置索引。在[[1,0]]
用于更改顺序的交换列。在编辑:
^{pr2}$您可以将^{} 与^{} 一起使用。解决方案很简单-只需将所有相关列(通过iloc选择)一个接一个地垂直堆叠并连接它们:
相关问题 更多 >
编程相关推荐