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

问题描述 投票:1回答:1

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

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

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

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

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

pandas
1个回答
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])

Output:

   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
© www.soinside.com 2019 - 2024. All rights reserved.