• Pandas基本数据操作


    索引操作

    直接使用行列索引(先列后行)

    获取'2018-02-27'这天的'close'的结果

    直接使用行列索引名字的方式(先列后行)
    data['open']['2018-02-27']
    23.53

    结合loc或者iloc使用索引

    获取从'2018-02-27':'2018-02-22','open'的结果

    使用loc:只能指定行列索引的名字
    data.loc['2018-02-27':'2018-02-22', 'open']

    2018-02-27 23.53
    2018-02-26 22.80
    2018-02-23 22.88
    Name: open, dtype: float64

    使用iloc可以通过索引的下标去获取
    获取前3天数据,前5列的结果
    data.iloc[:3, :5]

            open    high    close    low
    

    2018-02-27 23.53 25.88 24.16 23.53
    2018-02-26 22.80 23.78 23.53 22.80
    2018-02-23 22.88 23.37 22.82 22.71

    使用ix组合索引

    Warning:Starting in 0.20.0, the .ix indexer is deprecated, in favor of the more strict .iloc and .loc indexers.
    

    获取行第1天到第4天,['open', 'close', 'high', 'low']这个四个指标的结果

    使用ix进行下表和名称组合做引
    data.ix[0:4, ['open', 'close', 'high', 'low']]

    推荐使用loc和iloc来获取的方式
    data.loc[data.index[0:4], ['open', 'close', 'high', 'low']]
    data.iloc[0:4, data.columns.get_indexer(['open', 'close', 'high', 'low'])]

            open    close    high    low
    

    2018-02-27 23.53 24.16 25.88 23.53
    2018-02-26 22.80 23.53 23.78 22.80
    2018-02-23 22.88 22.82 23.37 22.71
    2018-02-22 22.25 22.28 22.76 22.02

    赋值操作

    对DataFrame当中的close列进行重新赋值为1

     直接修改原来的值
    data['close'] = 1
     或者
    data.close = 1
    

    排序

    排序有两种形式,一种对于索引进行排序,一种对于内容进行排序

    • DataFrame排序

      使用df.sort_values(by=, ascending=)
      单个键或者多个键进行排序,
      参数:
      by:指定排序参考的键
      ascending:默认升序
      ascending=False:降序
      ascending=True:升序

    # 按照开盘价大小进行排序 , 使用ascending指定按照大小排序
    data.sort_values(by="open", ascending=True).head()
    
    
    # 按照多个键进行排序
    data.sort_values(by=['open', 'high'])
    
    image-20190624114352409
    
        使用df.sort_index给索引进行排序
    
    这个股票的日期索引原来是从大到小,现在重新排序,从小到大
    
    # 对索引进行排序
    data.sort_index()
    
    • Series排序

      使用series.sort_values(ascending=True)进行排序

    
    series排序时,只有一列,不需要参数
    
    data['p_change'].sort_values(ascending=True).head()
    
    2015-09-01   -10.03
    2015-09-14   -10.02
    2016-01-11   -10.02
    2015-07-15   -10.02
    2015-08-26   -10.01
    Name: p_change, dtype: float64
    
        使用series.sort_index()进行排序
    
    与df一致
    
    # 对索引进行排序
    data['p_change'].sort_index().head()
    
    2015-03-02    2.62
    2015-03-03    1.44
    2015-03-04    1.57
    2015-03-05    2.02
    2015-03-06    8.51
    Name: p_change, dtype: float64
    
  • 相关阅读:
    react redux 使用
    github 退出和别人共同开发的仓库
    在react package.json中配置代理解决跨域
    禁止浏览器sources下webpack文件 显示源码
    redux connect 装饰器配置和安装
    Odoo 在action的domain和context中使用self.env
    odoo 字段后面添加button按钮,页签tree再加group显示字段
    Odoo -- 开发者模式创建的群组、动作没有xml id怎么办
    Mac必备神器Homebrew mac下镜像飞速安装Homebrew教程
    Vue -- keyup、watch、computed、nrm的安装
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14287598.html
Copyright © 2020-2023  润新知