数据清洗时,会将带空值的行删除,此时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)
output:
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