+--------+------+--------+------+
| Id_New | Name | Id_New | Name |
+--------+------+--------+------+
| 1 | A | 1 | C |
| 2 | B | 2 | B |
+--------+------+--------+------+
我的理解是,它应该添加
新
仅排在倒数第二列。以下是预期结果。
+----+------+--------+------+
| Id | Name | Id_New | Name |
+----+------+--------+------+
| 1 | A | 1 | C |
| 2 | B | 2 | B |
+----+------+--------+------+
cols = {}
new_cols = []
for c in df.columns:
if c in cols:
new_cols.append(f'{c}_New{cols[c]}')
cols[c] += 1
else:
new_cols.append(c)
cols[c] = 1
df.columns = new_cols
输出
Id Name Id_New1 Name_New1
0 1 A 1 C
1 2 B 2 B
如果你真的想
Id_New
然后
Id_New2
等更改:
new_cols.append(f'{c}_New{cols[c]}')
到
i = cols[c] if cols[c] != 1 else ''
new_cols.append(f'{c}_New{i}')