我正在使用Pandas,我想用列重新定位元素,我目前有:
<表类>
类型标签
初始
2022
2023
差
tbody><<tr>应用 A/B/C 500 469 31日 巴B/C/D 5 3 2 帽 C/D/E 10 5 5 表类>
将列Type
和Initial
与DataFrame.pop
连接以删除列,然后将/
分开并使用DataFrame.explode
,重命名列名并为重复值设置空字符串:
s = (df['Type Label'] + '/ ' + df.pop('Initial')).str.split('/')
df = df.assign(**{'Type Label':s} ).explode('Type Label').rename(columns={'Type Label':'Type Label/Initial'})
df.iloc[:, 1:] = df.iloc[:, 1:].mask(df.index.to_series().duplicated(), '')
df = df.reset_index(drop=True)
print (df)
Type Label/Initial 2022 2023 Difference
0 APPS 500 469 31
1 A
2 B
3 C
4 BACS 5 3 2
5 B
6 C
7 D
8 CAPS 10 5 5
9 C
10 D
11 E