python中的reindex_Pandas之ReIndex重新索引的实现
約定:
import pandas as pd
import numpy as np
ReIndex重新索引
reindex()是pandas對象的一個重要方法,其作用是創(chuàng)建一個新索引的新對象。
一、對Series對象重新索引
se1=pd.Series([1,7,3,9],index=['d','c','a','f'])
se1
代碼結果:
d??? 1
c??? 7
a??? 3
f??? 9
dtype: int64
調用reindex將會重新排序,缺失值則用NaN填補。
se2=se1.reindex(['a','b','c','d','e','f'])
se2
代碼結果:
a??? 3.0
b??? NaN
c??? 7.0
d??? 1.0
e??? NaN
f??? 9.0
dtype: float64
傳入method=” “重新索引時選擇插值處理方式:
method='ffill'或'pad 前向填充
method='bfill'或'backfill 后向填充
se3=pd.Series(['blue','red','black'],index=[0,2,4])
se4=se3.reindex(range(6),method='ffill')
se4
代碼結果:
0???? blue
1???? blue
2????? red
3????? red
4??? black
5??? black
dtype: object
二、對DataFrame對象重新索引
對于DataFrame對象,reindex能修改行索引和列索引。
df1=pd.DataFrame(np.arange(9).reshape(3,3),index=['a','c','d'],columns=['one','two','four'])
df1
代碼結果:
one
two
four
a
0
1
2
c
3
4
5
d
6
7
8
默認對行索引重新排序
只傳入一個序列不能重新排序列索引
df1.reindex(['a','b','c','d'])
代碼結果:
one
two
four
a
0.0
1.0
2.0
b
NaN
NaN
NaN
c
3.0
4.0
5.0
d
6.0
7.0
8.0
df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'])
代碼結果:
one
two
three
four
a
0.0
1.0
NaN
2.0
b
NaN
NaN
NaN
NaN
c
3.0
4.0
NaN
5.0
d
6.0
7.0
NaN
8.0
傳入fill_value=n用n代替缺失值:
df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value=100)
代碼結果:
one
two
three
four
a
0
1
100
2
b
100
100
100
100
c
3
4
100
5
d
6
7
100
8
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python中的reindex_Pandas之ReIndex重新索引的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab ask函数,matlab函
- 下一篇: websocket python爬虫_p