美文网首页
用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