一、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、对不同趋势值的转换规则

金融量化分析【day110】:Pandas的Series对象的更多相关文章

  1. 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据

    财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...

  2. day31 堡垒机尾声 + Python与金融量化分析(一)

    堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...

  3. pandas中Series对象下的str所拥有的方法(df["xx"].str)

    在使用pandas的时候,经常要对DataFrame的某一列进行操作,一般都会使用df["xx"].str下的方法,但是都有哪些方法呢?我们下面来罗列并演示一下.既然是df[&qu ...

  4. 金融量化分析【day110】:金融基础知识

    一.股票 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社会增发股票以募集 ...

  5. day32 Python与金融量化分析(二)

    第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...

  6. 重拾Python(3):Pandas之Series对象的使用

    Pandas是Python下最强大的数据分析和探索库,是基于Numpy库构建的,支持类似SQL的结构化数据的增.删.查.改,具有丰富的数据处理函数.Pandas有两大数据结构:Series和DataF ...

  7. Python与金融量化分析----金融与量化投资

    一:金融了解 金融:就是对现有资源进行重新的整合之后,进行价值和利润的等效流通. 金融工具: 股票 期货 黄金 外汇 基金 ............. 股票: 股票是股份公司发给出资人多的一种凭证,股 ...

  8. 又见Python<3>:Pandas之Series对象的使用

    Pandas是Python下最强大的数据分析和探索库,是基于Numpy库构建的,支持类似SQL的结构化数据的增.删.查.改,具有丰富的数据处理函数.Pandas有两大数据结构:Series和DataF ...

  9. 数据分析之pandas库--series对象

    1.Series属性及方法 Series是Pandas中最基本的对象,Series类似一种一维数组. 1.生成对象.创建索引并赋值. s1=pd.Series() 2.查看索引和值. s1=Serie ...

随机推荐

  1. VMware实现iptables NAT及端口映射

    1. 前言 本文只讲解实战应用,不会涉及原理讲解.如果想要了解iptables的工作流程或原理可参考如下博文. 具体操作是在PC机的VMware虚拟机上进行的,因此涉及的地址都是内网IP.在实际工作中 ...

  2. Zabbix 3.4.7调整监控阈值以及告警级别

    1.找到需要监控的主机:右上角进行搜索 我们要更改sepm02p的阈值和级别: 进行更改级别:先点击Triggers , 选中要更改的监控项,例如我要更改CPU,点击以下红色标出的,千万不要选择Tem ...

  3. day21-多并发编程基础(二)

    今日要整理的内容有 1. 操作系统中线程理论 2.python中的GIL锁 3.线程在python中的使用 开始今日份整理 1. 操作系统中线程理论 1.1 线程引入背景 之前我们已经了解了操作系统中 ...

  4. 【Consul】CONSUL调研

    [Consul]CONSUL调研 2016年08月18日 18:31:53 YoungerChina 阅读数:1962更多 所属专栏: Consul修炼   版权声明:原创不易,转载请注明出处! ht ...

  5. (十五)The Search API

    Now let’s start with some simple searches. There are two basic ways to run searches: one is by sendi ...

  6. P1744 采购特价商品 题解(讲解图论)

    图论的超级初级题目(模板题) 最短路径的模板题 图是啥?(白纸上的符号?) 对于一个拥有n个顶点的无向连通图,它的边数一定多于n-1条.若从中选择n-1条边,使得无向图仍然连通,则由n个顶点及这 n- ...

  7. DeeplabV3+ 训练自己的遥感数据

    一.预处理数据部分 1.创建 tfrecord(修改 deeplab\ dateasets\ build_data.py) 模型本身是把一张张 jpg 和 png 格式图片读到一个 Example 里 ...

  8. Java Lucene入门

    1.lucene版本:7.2.1 pom文件: <?xml version="1.0" encoding="UTF-8"?> <project ...

  9. HDU 3901 Wildcard

    题目:Wildcard 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3901 题意:给一个原串(只含小写字母)和一个模式串(含小写字母.?.* ,*号可替 ...

  10. 解决多线程安全问题-无非两个方法synchronized和lock 具体原理(百度-美团)

    还有其他的锁,如果想要了解,参考:JAVA锁机制-可重入锁,可中断锁,公平锁,读写锁,自旋锁, 用synchronized实现ReentrantLock 美团面试题参考:使用synchronized ...