透视Pandas框架并使现有列成为第2行

nmpmafwu  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(87)

我正在尝试透视一个表,使一列成为新的列标题,但同时保留所有现有列作为第二行列。输入到另一个进程时需要这种特定格式。所有值仍然需要正常透视以匹配新方向。
Original TableDesired Outcome
我相信这一点,我没有太多的经验与枢轴与这个额外的要求。我可以完成枢轴正常。

9q78igpj

9q78igpj1#

您可以将column 2设置为索引,然后使用unstack

import pandas as pd

data = {'Column 1': [1, 2, 3],
        'Column 2': ['A', 'B', 'C'],
        'Column 3': ['a', 'b', 'c']}
df = pd.DataFrame(data)

new_df = df.set_index(["Column 2"]).unstack()

字符串

注意pd.unstack的输出是Pandas Series使用to_frame转换为Dataframe:

new_df = new_df.to_frame()


然后,为了获得所需的输出,您需要进行转置并交换列级别:

new_df.T.swaplevel(axis=1)

相关问题