Pandas 的 reindex() 方法可以重置索引,它提供了四种常用的方式:
1. 基于索引标签重新索引
import pandas as pd
df = pd.DataFrame({"A":[1,2,3], "B":[4,5,6]}, index=["a", "b", "c"])
df = df.reindex(["a", "b", "c", "d"])
print(df)
输出结果:
A B
a 1.0 4.0
b 2.0 5.0
c 3.0 6.0
d NaN NaN
2. 基于索引位置重新索引
import pandas as pd
df = pd.DataFrame({"A":[1,2,3], "B":[4,5,6]}, index=["a", "b", "c"])
df = df.reindex([2, 0, 1])
print(df)
输出结果:
A B
c 3.0 6.0
a 1.0 4.0
b 2.0 5.0
3. 基于列标签重新索引
import pandas as pd
df = pd.DataFrame({"A":[1,2,3], "B":[4,5,6]}, index=["a", "b", "c"])
df = df.reindex(columns=["A", "B", "C"])
print(df)
输出结果:
A B C a 1 4 NaN b 2 5 NaN c 3 6 NaN
4. 基于列位置重新索引
import pandas as pd
df = pd.DataFrame({"A":[1,2,3], "B":[4,5,6]}, index=["a", "b", "c"])
df = df.reindex(columns=[1, 0])
print(df)
输出结果:
B A a 4 1 b 5 2 c 6 3