7.Pandas重建索引
Pandas重建索引
方法 | 概述 |
---|---|
reindex | 重新为Pandas对象设置索引 |
举例:
# 重新设置索引
arrindex = pd.Series(np.arange(5), index=('q', 'w', 'e', 'r', 't'))
print(arrindex)
print('——---重置索引----')
arrindex2 = arrindex.reindex(list('weqrs'))
print(arrindex2)
# 结果----
# 可以看到 之前有的索引我们重置完,还是有的,没有的得就为Nan
q 0
w 1
e 2
r 3
t 4
dtype: int32
——---重置索引----
w 1.0
e 2.0
q 0.0
r 3.0
s NaN
dtype: float64
也可以为缺失值指定填充方式method参数,比如ffill表示向前填充,bfill表示向后填充:
obj3 = pd.Series(['blue', 'purple', 'yellow'], index=[0, 2, 4])
print(obj3)
print('-----向前填充---')
obj4 = obj3.reindex(range(6), method='ffill')
print(obj4)
print('----向后填充----')
obj5 = obj3.reindex(range(6), method='bfill')
print(obj5)
#----
0 blue
2 purple
4 yellow
dtype: object
-----向前填充---
0 blue
1 blue
2 purple
3 purple
4 yellow
5 yellow
dtype: object
----向后填充----
0 blue
1 purple
2 purple
3 yellow
4 yellow
5 NaN
dtype: object
对于DataFrame这种二维对象,如果执行reindex方法时只提供一个列表参数,则默认是修改行索引。可以用关键字参数columns指定修改的是列索引:
f = pd.DataFrame(np.arange(9).reshape((3, 3)), index=list('acd'), columns=list('def'))
print(f)
# --------
d e f
a 0 1 2
c 3 4 5
d 6 7 8