我正在尝试拆分(内部拆分)一列,以便在同一列名下有两列,并且这两列都应具有相同的值。
我正在尝试使用Pandas库在Python中实现以下内容
说我的数据框看起来像这样
Column1 Column2 Row1 1 2 Row2 3 4
所需的输出:
Column1 Column2 Row1 1 | 1 2 | 2 Row2 3 | 3 4 | 4
答案 0 :(得分:0)
如果我们从您的示例开始:
df = pd.DataFrame({'Column1': [1, 3],
'Column2': [2,4]},
index = ['Row1', 'Row2'])
df
Column1 Column2
Row1 1 2
Row2 3 4
from toolz import interleave
df = pd.concat([df, df], axis=1)[list(interleave([df]))]
此时,数据框如下所示:
df
Column1 Column1 Column2 Column2
Row1 1 1 2 2
Row2 3 3 4 4
df.columns = pd.MultiIndex(levels=[['Column1', 'Column2'], ['A', 'B']],
labels=[[0, 0, 1, 1], [0, 1, 0, 1]])
这将导致一个数据框现在看起来像这样:
df
Column1 Column2
A B A B
Row1 1 1 2 2
Row2 3 3 4 4