python - pandas DataFrame reset_index 可以处理重复的列名?

标签 python pandas dataframe duplicates reindex

是否有任何等效于 pandas.DataFrame.reset_index() 的操作,可以处理列名重复的情况?我希望它丢弃列名并为列返回默认编号索引 0,1,2..。 (当我有重复的列名时,df.renamedf.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/

相关文章:

python - 如何使用python根据同一数据框中另一列的值对数据框中的列中的值进行排序

python - dask dataframe 删除重复的索引值

python - 根据列表列表过滤 Pandas 数据框

Python - 返回构造函数参数名称而不实例化

python - 从 Python 中的函数返回函数

python - 在数据框中混洗多列

python - 如何处理 Pandas Data Frame 中的重复条目?

python - 当单元格中的值是列表时,Pandas 数据框条件

python - Unicode编码错误: 'ascii' codec can't encode character u'\xea' in position 39: ordinal not in range(128)

python - Numpy:如何将矩阵随机拆分/选择为 n 个不同的矩阵