如何转换大型数据框

我想转换以下数据框,但似乎无法获得正确的函数来执行此操作。每当我使用“melt”时,都会提示我转换为数组,尽管数组似乎不接受列名。

在任何情况下,任何帮助解决这个问题:

一种 C1 C1.A C2 C2.A
个人电脑 11001 老的 东南 新的

回答

MultiIndex使用replace后跟将列转换为split,然后stack重塑框架以将其转换为所需的格式

df = df1.set_index(['A', 'B'])
df.columns = df.columns
               .str.replace(r'^(D+)(d+)(.*)', r'13_2')
               .str.split('_', expand=True)

df = df.stack().droplevel(2).reset_index()

    A      B     C  C.A
0  PC  11001  Core  Old
1  PC  11001    SE  New


以上是如何转换大型数据框的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>