暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python数据分析笔记#6.2.1 Pandas-reindex重新索引

Yuan的学习笔记 2021-10-10
438







「目录」

  • 6.1 => Pandas的数据结构

  • 6.2 => Pandas的基本功能

    --------> reindex重新索引

  • 6.3 => 数学和统计方法

reindex重新索引

有时当你创建Series后,可能想改变索引的顺序。你可以使用pandas的方法reindexreindex可以创建一个新的对象,并根据新的索引重新排序

In [2]: obj = pd.Series([1, 2, 3, 4], index = ['d''b''a''c'])

In [3]: obj
Out[3]:
d    1
b    2
a    3
c    4
dtype: int64

In [4]: obj2 = obj.reindex(['a''b''c''d''e'])

In [5]: obj2
Out[5]:
a    3.0
b    2.0
c    4.0
d    1.0
e    NaN
dtype: float64

复制

如果某个索引的值不存在,就引入缺失值

如果要做插值处理,使用method选项的ffill可以前向值填充,比如

In [6]: obj3 = pd.Series(['Chinese''American''Japanese'], index = range(0,6,2))

In [7]: obj3
Out[7]:
0     Chinese
2    American
4    Japanese
dtype: object

In [8]: obj3.reindex(range(6), method='ffill')
Out[8]:
0     Chinese
1     Chinese
2    American
3    American
4    Japanese
5    Japanese
dtype: object

复制

Tip:ffill(forward fill)是前向填充,对应的还有bfill(backward fill)为后向填充。

传入limit参数则可以控制前向或后向填充时的最大填充量

In [2]: obj4 = pd.Series(['Chinese''American''Japanese'], index = range(0,9,3))

In [3]: obj4
Out[3]:
0     Chinese
3    American
6    Japanese
dtype: object

复制

比如这里选择limit=1:

In [4]: obj4.reindex(range(9), method='ffill'limit=1)
Out[4]:
0     Chinese
1     Chinese
2         NaN
3    American
4    American
5         NaN
6    Japanese
7    Japanese
8         NaN
dtype: object

复制

对于DataFrame,reindex可以修改它的行索引(index)和列索引(column)。

In [9]: frame = pd.DataFrame(np.arange(9).reshape((3,3)), index = ['a''c''d'], columns = ['Ohio''Texas''California'])

In [10]: frame
Out[10]:
   Ohio  Texas  California
a     0      1           2
c     3      4           5
d     6      7           8

复制

若我们传入一个序列,会重新索引行:

In [11]: frame2 = frame.reindex(['a''b''c''d'])

In [12]: frame2
Out[12]:
   Ohio  Texas  California
a   0.0    1.0         2.0
b   NaN    NaN         NaN
c   3.0    4.0         5.0

复制

列索引可以用columns关键字重新索引:

In [5]: states = ['Texas''Utah''California']

In [6]: frame.reindex(columns = states)
Out[6]:
   Texas  Utah  California
a      1   NaN           2
c      4   NaN           5
d      7   NaN           8

复制

下面的表格汇总了reindex函数的参数

「中文版」


「英文版」








往期回顾


Panda的数据结构:Series和Dataframe





Stay hungry, stay foolish





快来,点在看啦


文章转载自Yuan的学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论