Return 数据帧从枢轴状态到原始状态
Return dataframe to original state from pivot state
我目前正在尝试 return 在对旋转数据帧执行一些操作后将数据帧恢复到其原始状态。
我基本上有一个看起来像这样的数据框:
使用 pivot 转换数据框并对其执行一些操作后,数据框看起来像这样,其中每一行由 date
表示,每一列都是 appkey+cc
的唯一组合,值为target
.
除此之外,我还在 total
下添加了目标总和的聚合,它每天总结 target
和 appkey_total
每天总结 target
但是仅适用于 appkey
.
想法是 return 旋转 table 到它的原始状态 + total
和 appkey_total
作为添加的列。
我的问题是我没有将 appkey
和 cc
作为主元 table 中的列,而是将 appkey
和 cc
连接起来,所以我不确定如何 return 它回来?
我无法融化它,因为我没有原始的列名。
任何帮助将不胜感激,谢谢!
编辑
在尝试了@jezrael 的建议后,我得到了以下输出:
可以看出,appkey
被添加为索引,而 3 个唯一的 appkey
被保留为列名。
将 total
添加到 MultiIndex
的索引中,然后拆分列并按 DataFrame.stack
重塑:
df1 = df.set_index('total', append=True)
df1.columns = df1.columns.str.split('_', expand=True)
df1 = df1.rename_axis(['cc','appkey'], axis=1).stack([0, 1]).reset_index()
我目前正在尝试 return 在对旋转数据帧执行一些操作后将数据帧恢复到其原始状态。
我基本上有一个看起来像这样的数据框:
使用 pivot 转换数据框并对其执行一些操作后,数据框看起来像这样,其中每一行由 date
表示,每一列都是 appkey+cc
的唯一组合,值为target
.
除此之外,我还在 total
下添加了目标总和的聚合,它每天总结 target
和 appkey_total
每天总结 target
但是仅适用于 appkey
.
想法是 return 旋转 table 到它的原始状态 + total
和 appkey_total
作为添加的列。
我的问题是我没有将 appkey
和 cc
作为主元 table 中的列,而是将 appkey
和 cc
连接起来,所以我不确定如何 return 它回来?
我无法融化它,因为我没有原始的列名。
任何帮助将不胜感激,谢谢!
编辑
在尝试了@jezrael 的建议后,我得到了以下输出:
可以看出,appkey
被添加为索引,而 3 个唯一的 appkey
被保留为列名。
将 total
添加到 MultiIndex
的索引中,然后拆分列并按 DataFrame.stack
重塑:
df1 = df.set_index('total', append=True)
df1.columns = df1.columns.str.split('_', expand=True)
df1 = df1.rename_axis(['cc','appkey'], axis=1).stack([0, 1]).reset_index()