美文网首页
金融时间序列(pandas基础一)

金融时间序列(pandas基础一)

作者: 凉风起天末_ | 来源:发表于2019-02-15 11:26 被阅读0次

    以时间或日期前作为索引的金融数据,称之为金融时间序列。每日股价就是比较有代表的例子。Python处理金融时间序列的主要工具是pandas库,其中两个基础的类,DataFrame和Series

    某种意义上,pandas是基于numpy构建的,在初始,要同时import两个库

    import numpy as np
    import pandas as pd
    

    1. 创建dataframe对象

    Init signature: pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

    使用字典
    >>> d = {'col1': [1, 2], 'col2': [3, 4]}
    >>> df = pd.DataFrame(data=d)
    
    指定colums
     df2 = pd.DataFrame(np.random.randint(low=0,high=10,size=(5, 5)), 
                         columns=['a', 'b', 'c', 'd', 'e'])
    >>> df2
        a   b   c   d   e
    0   2   8   8   3   4
    1   4   2   9   0   9
    2   1   0   7   8   0
    3   5   1   7   1   3
    4   6   0   2   4   2
    
    同时指定colums和index
    df1 = pd.DataFrame([10,20,30,40],\
                        columns=['numbers'],\
                        index=['a','b','c','d'])
    
    >>> df1
        numbers
    a   10
    b   20
    c   30
    d   40
    

    2. 索引

    移除了ix索引方式,支持但不推荐,建议使用iloc和loc方法

    loc['columns']

    按columns索引

    df1.loc['c']
    
    >>> numbers    30
    Name: c, dtype: int64
    
    iloc['index']

    按index索引

    df1.iloc[0] 
    
    >>> numbers    10
    Name: a, dtype: int64
    

    3. 函数调用

    numpy的函数可以通用在DataFrame对象上

    df1.sum()
    
    >>> numbers    100
    dtype: int64
    
    df1.apply(lambda x:x**2)    # 对每一行元素进行lambda函数运算
    
    >>> df1
        numbers
    a   100
    b   400
    c   900
    d   1600
    

    相关文章

      网友评论

          本文标题:金融时间序列(pandas基础一)

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