按特殊字符分割数据框列名称

时间:2019-04-16 00:11:24

标签: pandas

我正在尝试用'\'分割数据框列名。我的数据看起来像这样。

A\B |   X\Y  |  C\D|
____________________
0   |   1    |  1  |

如何通过拆分列名称来实现以下数据框。

A   |B  |X  |Y  |C  |D
___________________________________________
0   |0  |1  |1  |1  |1

我正在使用pandas库进行数据预处理

1 个答案:

答案 0 :(得分:2)

拆分各列以找出需要重复多少次的值,然后构造DataFrame

print(df)
   A\B  X\Y  C\D  G\H\J
0    0    1    1      2
1    1   17   19    145

s = df.columns.str.split('\\')
pd.DataFrame(df.to_numpy().repeat(s.str.len(), axis=1),
             columns = [x for y in s for x in y])

输出:

   A  B   X   Y   C   D    G    H    J
0  0  0   1   1   1   1    2    2    2
1  1  1  17  17  19  19  145  145  145