美文网首页
用Python进行数据分析 第五章 Pandas入门 Day6

用Python进行数据分析 第五章 Pandas入门 Day6

作者: Jason数据分析生信教室 | 来源:发表于2021-09-04 08:03 被阅读0次

5.2 基本功能

本节会出现Series或DataFrame中数据交互的基础机制。

5.2.1 重建索引

reindex是pandas对象的重要方法,该方法用于新建一个符合新索引的新对象。看一下下面的例子。

In [27]: obj=pd.Series([4.5,7.2,-5.3,3.6],index=['d','b','a','c'])

In [28]: obj
Out[28]: 
d    4.5
b    7.2
a   -5.3
c    3.6
dtype: float64

使用reindex自定义index顺序,没有的话会显示NaN。

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

In [18]: obj2
Out[18]: 
a   -5.3
b    7.2
c    3.6
d    4.5
e    NaN
dtype: float64

在遇到时间序列等有顺序的数据的时候,可以使用ffill来自动按顺序填充index。

In [19]: obj3=pd.Series(['blue','purple','yellow'],index=[0,2,4])

In [20]: obj3
Out[20]: 
0      blue
2    purple
4    yellow
dtype: object
In [21]: obj3.reindex(range(6),method='ffill')
Out[21]: 
0      blue
1      blue
2    purple
3    purple
4    yellow
5    yellow
dtype: object

DataFrame的话可以用reindex来改变index

In [27]: np.arange(9).reshape(3,3)
Out[27]: 
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

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

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

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

In [31]: frame2
Out[31]: 
   Ohio  Texas  California
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

也可以对指定的列名进行索引

In [32]: states=['Texas','Utah','California']

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

相关文章

网友评论

      本文标题:用Python进行数据分析 第五章 Pandas入门 Day6

      本文链接:https://www.haomeiwen.com/subject/gtkcwltx.html