使用pandas清洗完数据时,需要重建索引,否则访问时会报KeyError!!

问题:

当我们对Dataframe对象进行数据清洗之后, 例如去掉含NaN的行之后, 发现行索引还是原来的行索引

    datatmsp = datatmsp[~datatmsp['brand'].isin(['None'])]

    # 删除重复数据
    datatmsp = datatmsp.drop_duplicates()

    # 删除缺失值的列   重建索引!!!
    datatmsp = datatmsp.dropna().reset_index(drop=True)

    return analyse_data(datatmsp)

例如进过上述操作,假使会 删除掉索引为5的数据,这时候如果后面通过索引访问为5的对象,就会报KeyError错误,之前一直不清楚原因,调试了半天才发现必须重建索引!

关键代码:

    # 删除缺失值的列   重建索引!!!
    datatmsp = datatmsp.dropna().reset_index(drop=True)

之后就可以正常遍历元素了!!!

你可能感兴趣的:(python)