zoukankan      html  css  js  c++  java
  • 金融量化分析【day110】:Pandas的Series对象

    一、pandas简介安装

    pandas是一个强大的python数据分析的工具包

    pandsa是基于NumPy构建的

    1、pandas的主要功能

    1、具备对其功能的数据结构DataFrame、Series

    2、集成时间序列功能

    3、提供丰富的数学运算和操作

    4、灵活处理缺失数据

    2、安装方法

    pip install pandas

    3、引用方法

    import pandas as pd

    二、Series对象

    1、pandas的Series对象是一个带索引数据构成的一维数组,可以用一个数组创建Series对象

    import numpy as np
    import pandas as pd
    data = pd.Series([0.25,0.5,0.75,10])
    data
    

      

    2、Series是通用NumPy数组

    data = pd.Series([0.25,0.5,0.75,10],index=['a','b','c','d'])
    

      

    data = pd.Series([0.25,0.5,0.75,10],index=['2','5','3','7'])
    

      

    3、Series是特殊的字典

    area_dict = {'California': 423967, 'Texas': 695662, 'New York': 141297,
    'Florida': 170312, 'Illinois': 149995}
    area = pd.Series(area_dict)
    area
    

      

    三、Series数据对齐

    1、pandas在运算时,会按索引进行对齐然后计算,如果存在不同的索引,则结果的索引是两个操作数索引的并集

    1、sr1+sr2

     2、sr1+sr3

     

    2、如何在两个Series对象相加时将缺失值设置为0?

     三、缺失数据

     缺失数据:使用NaN(Not a Number)来表示缺失数据,其值等于np.nan

    内置的None值也会被当做NaN处理

    1、发现缺失数据

    1、data.isnull()创建一个布尔类型的掩码标签缺失值

    import numpy as np
    import pandas as pd
    data = pd.Series([1, np.nan, 'hello', None])
    data.isnull()
    

      

     1、data[data.notnull()与data.isnull()操作相反

    data[data.notnull()]
    

     

    2、剔除缺失数据

    1、dropna()返回一个剔除缺失值的数据(剔除任何包含缺失值的整行数据)

    df3.dropna()
    

    2、dropna(how='any')返回一个剔除缺失值的数据(会剔除任何包含缺失值的整列数据)

    df.dropna(axis='columns', how='all')

    3、dropna(how='any')返回一个剔除缺失值的数据(只要有缺失值就剔除整行或整列)

    df2.dropna(how='any')
    

      

    df2[df2['close'].notnull()]
    

      

    4、dropna(how='any')返回一个剔除缺失值的数据(行或列中非缺失值的最小数量)

    df.dropna(axis='rows', thresh=3)
    

      

    第一行和第三行被剔除了,因为他们只包含两个非缺失值

    3、填充缺失数据

    有时候你可你可能并不想移除缺失值,而是想把他们替换成有效的数值,有效的值可能想0,1,2那样单独的值,也可能

    是经过填充(imputation)或转换(interpolation)得到的,虽然你可以通过isnull方法建立掩码来填充缺失值,但是Pandas

    为此专门提供了一个fillna(0)方法,他将返回填充缺失值后的数组副本

    data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))
    data
    

      

    1、data.fillna(0)单独的值填充缺失值

    data.fillna(0)
    

      

    2、method='ffill'  可以用缺失值前面的有效值来从前往后填充

    data.fillna(method='ffill')
    

      

    3、method='bfill' 也可以用缺失值的有效值从后向前填充

    data.fillna(method='bfill')
    

      

    4、DataFrame的操作方法与Series类似,只是在填充时候需要设置坐标轴参数axis

    df.fillna(method='ffill', axis=1)
    

      

    需要注意的是,假如从前往后填充式,需要填充的却是值前面没有值,那么他就仍然是缺失值

    4、对不同趋势值的转换规则

     

  • 相关阅读:
    NS2 nam中节点及数据流颜色设置
    JSF简单介绍
    深入浅出谈开窗函数(一)
    BZOJ2440(全然平方数)二分+莫比乌斯容斥
    怎样在SharePoint管理中心检查数据库架构版本号、修补级别和修补程序的常规监控
    Java实现BASE64编解码
    博弈 个人 见解
    【剑指offer】第一个仅仅出现一次的字符
    cocos2d基础篇笔记四
    SSL连接建立过程分析(1)
  • 原文地址:https://www.cnblogs.com/luoahong/p/9790008.html
Copyright © 2011-2022 走看看