Python pandas如何为筛选后的DataFrame重置连续行索引
解答
- 首先明确:你打印输出里最左侧没有列名的列就是pandas DataFrame的行索引列。你现在看到的索引跳号,通常是之前做过行筛选、切片、抽样等操作后,原始索引被保留导致的,属于pandas使用中的常见情况。
- 要把索引调整为从1开始连续递增的状态,直接用
reset_index方法即可,操作代码如下:
# 丢弃原有不连续的旧索引,重置为默认从0开始的连续整数索引 df_OIH = df_OIH.reset_index(drop=True) # 把索引整体+1,实现第一行对应1、第二行对应2的连续序号要求 df_OIH.index += 1
- 补充说明:如果你后续的合并操作是用
merge按共同字段做关联匹配,索引是否连续不会影响结果;如果是用pd.concat做按行位置的横向拼接,重置连续索引才能保证两行数据按位置正确对齐,不会出现错位。
操作完成后重新打印df_OIH,就能看到最左侧索引变成连续的1到70序号。
内容的提问来源于stack exchange,提问作者pythonheadache
相关产品推荐
相关产品推荐

