是否有任何等效于 pandas.DataFrame.reset_index()
的操作,可以处理列名重复的情况?我希望它丢弃列名并为列返回默认编号索引 0,1,2..。 (当我有重复的列名时,df.rename
或 df.reindex_axis
等方法不起作用。)
示例输入:
pd.DataFrame(np.random.rand(5, 3), columns = ['A', 'A', 'B'])
A A B
0 0.5 0.3 0.9
1 0.7 0.9 0.3
2 0.9 0.4 0.8
3 0.6 0.2 0.9
4 0.7 0.4 0.6
预期输出:
0 1 2
0 0.8 0.1 0.2
1 0.4 0.2 0.4
2 0.3 0.3 0.4
3 0.4 0.1 0.8
4 1.0 0.9 0.9
最佳答案
你可以使用set_axis()方法:
In [54]: df
Out[54]:
A A B
0 0.934900 0.817182 0.166270
1 0.064543 0.139431 0.249576
2 0.709349 0.731913 0.965048
3 0.284955 0.479898 0.496652
4 0.520749 0.464256 0.999993
In [55]: df.set_axis(1, range(len(df.columns)))
In [56]: df
Out[56]:
0 1 2
0 0.934900 0.817182 0.166270
1 0.064543 0.139431 0.249576
2 0.709349 0.731913 0.965048
3 0.284955 0.479898 0.496652
4 0.520749 0.464256 0.999993
关于python - pandas DataFrame reset_index 可以处理重复的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38502084/