pandas 中的 reset_index()
数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。
import pandas as pd import numpy as np df = pd.DataFrame(np.arange(20).reshape(5,4),index=[1,3,4,6,8]) print(df)
0 1 2 3 1 0 1 2 3 3 4 5 6 7 4 8 9 10 11 6 12 13 14 15 8 16 17 18 19
reset_index()重置索引:
print(df.reset_index())
index 0 1 2 3 0 1 0 1 2 3 1 3 4 5 6 7 2 4 8 9 10 11 3 6 12 13 14 15 4 8 16 17 18 19
在获得新的index,原来的index变成数据列,保留下来。
不想保留原来的index,使用参数 drop=True,默认 False。
print(df.reset_index(drop=True))
0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 3 12 13 14 15 4 16 17 18 19