pandas DataFrame reset_index 哪个可以处理重复的列名?
回答问题 是否有任何等效的pandas.DataFrame.reset_index()对列进行操作并且可以处理列名重复的情况?我希望它丢弃列名并返回列的默认编号索引 0,1,2..。 (当我有重复的列名时,像df.rename或df.reindex_axis这样的方法不起作用。) 样本输入: pd.DataFrame(np.random.rand(5, 3), columns = ['A', 'A
·
回答问题
是否有任何等效的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
Answers
您可以使用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
更多推荐
已为社区贡献126483条内容
所有评论(0)