删除DataFrame列后,如何将列索引重置为从0开始的序列?
解决DataFrame删除列后重置列索引的问题
你当前的问题是混淆了行索引和列索引的重置方法:reset_index()是用来重置行索引的,对列索引完全没有影响,所以执行后列名还是1、2,没变成你想要的0、1。
要重置列索引,直接重新指定列名即可,有两种常用方式:
方法1:通用自动生成列名
适合列数不确定的情况,直接根据列的数量生成从0开始的连续整数列名:
import pandas as pd orig = [[1,2,3],[4,5,6],[7,8,9]] df = pd.DataFrame(orig) print("Original DataFrame :") print(df) # 删除0列 df = df.drop(0, axis=1) print("DataFrame after removing the 0th column") print(df) # 重置列索引:生成从0开始的连续列名 df.columns = range(df.shape[1]) print("Dataframe after resetting column index") print(df)
方法2:手动指定列名
适合列数固定的场景,直接列出想要的列名:
# 接上面删除列后的操作 df.columns = [0, 1]
执行修改后的代码,输出会变成:
Original DataFrame : 0 1 2 0 1 2 3 1 4 5 6 2 7 8 9 DataFrame after removing the 0th column 1 2 0 2 3 1 5 6 2 8 9 Dataframe after resetting column index 0 1 0 2 3 1 5 6 2 8 9
内容的提问来源于stack exchange,提问作者Motougo
相关产品推荐
相关产品推荐

