我想弄清楚,当你试图重置索引时,是否有办法重命名Pandas列。 我在文档中看到,如果只有一列,你可以使用 "name "参数来设置重置索引的列名,但我很好奇是否有办法对多列进行这样的操作。
df1 = pd.DataFrame({
'A' : ['a1', 'a1', 'a2', 'a3'],
'B' : ['b1', 'b2', 'b3', 'b4'],
'D1' : [1,0,0,0],
'D2' : [0,1,1,0],
'D3' : [0,0,1,1],
df1.set_index(['B','A']).stack().reset_index()
结果留给你的是。
B A level_2 0
0 b1 a1 D1 1
1 b1 a1 D2 0
2 b1 a1 D3 0
3 b2 a1 D1 0
4 b2 a1 D2 1
You could do:
df1.set_index(['B','A']).stack().reset_index(name='my_col')
为了设置最后一列的名称,但我想知道是否有办法使用该参数来设置'level_2'列的名称。
我想到的第一件事就是去尝试。
df1.set_index(['B','A']).stack().reset_index(name=['my_col2','my_col'])
然而,这并不奏效,所以我在寻找另一种方法。 我意识到我总是可以在下一行重命名这些列,但我希望有一个更干净的方法在一行中完成它。