Pandas最详细教程来了( 三 )

  • normalize:布尔值 | 将start和end规范化为午夜;默认为False
  • name:字符串 | 生成的索引名称
  • date_range函数频率的参数及说明如下所示:
    • B:交易日
    • C:自定义交易日(试验中)
    • D:日历日
    • W:每周
    • M:每月底
    • SM:半个月频率(15号和月底)
    • BM:每个月份最后一个交易日
    • CBM:自定义每个交易月
    • MS:日历月初
    • SMS:月初开始的半月频率(1号 , 15号)
    • BMS:交易月初
    • CBMS:自定义交易月初
    • Q:季度末
    • BQ:交易季度末
    • QS:季度初
    • BQS:交易季度初
    • A:年末
    • BA:交易年度末
    • AS:年初
    • BAS:交易年度初
    • BH:交易小时
    • H:小时
    • T , min:分钟
    • S:秒
    • L , ms:毫秒
    • U , us:微秒
    • N:纳秒
    接下来 , 我们再基于dates来创建DataFrame , 代码如下:
    df=pd.DataFrame(np.random.randn(8,4),index=dates,columns=list('ABCD'))df运行结果如图3-11所示 。
    Pandas最详细教程来了

    文章插图
    ▲图3-11
    有了df , 我们就可以使用多个基于DataFrame的内建方法了 , 下面来看看相关的示例 。
    按列求总和 , 代码如下:
    df.sum()输出结果如下:
    A    0.241727B   -0.785350C   -0.547433D   -1.449231dtype: float64按列求均值 , 代码如下:
    df.mean()输出结果如下:
    A    0.030216B   -0.098169C   -0.068429D   -0.181154dtype: float64按列求累计总和 , 代码如下:
    df.cumsum()运行结果如图3-12所示 。
    Pandas最详细教程来了

    文章插图
    ▲图3-12
    使用describe一键生成多种统计数据 , 代码如下:
    df.describe()运行结果如图3-13所示 。
    Pandas最详细教程来了

    文章插图
    ▲图3-13
    可以根据某一列的值进行排序 , 代码如下:
    df.sort_values('A')运行结果如图3-14所示 。
    Pandas最详细教程来了

    文章插图
    ▲图3-14
    根据索引(日期)排序(这里是倒序) , 代码如下:
    df.sort_index(ascending=False)运行结果如图3-15所示 。
    Pandas最详细教程来了

    文章插图
    ▲图3-15
    选取某一列 , 返回的是Series对象 , 可以使用df.A , 代码如下:
    df['A']输出结果如下:
    2016-01-01   -1.1423502016-01-02   -0.8161782016-01-03    0.0302062016-01-04    1.9301752016-01-05    0.5715122016-01-06    0.2204452016-01-07    0.2921762016-01-08   -0.844260Freq: D, Name: A, dtype: float64使用[]选取某几行 , 代码如下:
    df[0:5]运行结果如图3-16所示 。
    Pandas最详细教程来了

    文章插图
    ▲图3-16
    根据标签(Label)选取数据 , 使用的是loc方法 , 代码如下:
    df.loc[dates[0]]输出结果如下:
    A   -1.142350B   -1.999351C    0.772343D   -0.851840Name: 2016-01-01 00:00:00, dtype: float64再来看两个示例代码 。
    df.loc[:,['A','C']]运行结果如图3-17所示 。
    Pandas最详细教程来了

    文章插图
    ▲图3-17
    df.loc['20160102':'20160106',['A','C']]


    推荐阅读