金融量化分析【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、对不同趋势值的转换规则

金融量化分析【day110】:Pandas的Series对象的更多相关文章
- 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据
财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...
- day31 堡垒机尾声 + Python与金融量化分析(一)
堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...
- pandas中Series对象下的str所拥有的方法(df["xx"].str)
在使用pandas的时候,经常要对DataFrame的某一列进行操作,一般都会使用df["xx"].str下的方法,但是都有哪些方法呢?我们下面来罗列并演示一下.既然是df[&qu ...
- 金融量化分析【day110】:金融基础知识
一.股票 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社会增发股票以募集 ...
- day32 Python与金融量化分析(二)
第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...
- 重拾Python(3):Pandas之Series对象的使用
Pandas是Python下最强大的数据分析和探索库,是基于Numpy库构建的,支持类似SQL的结构化数据的增.删.查.改,具有丰富的数据处理函数.Pandas有两大数据结构:Series和DataF ...
- Python与金融量化分析----金融与量化投资
一:金融了解 金融:就是对现有资源进行重新的整合之后,进行价值和利润的等效流通. 金融工具: 股票 期货 黄金 外汇 基金 ............. 股票: 股票是股份公司发给出资人多的一种凭证,股 ...
- 又见Python<3>:Pandas之Series对象的使用
Pandas是Python下最强大的数据分析和探索库,是基于Numpy库构建的,支持类似SQL的结构化数据的增.删.查.改,具有丰富的数据处理函数.Pandas有两大数据结构:Series和DataF ...
- 数据分析之pandas库--series对象
1.Series属性及方法 Series是Pandas中最基本的对象,Series类似一种一维数组. 1.生成对象.创建索引并赋值. s1=pd.Series() 2.查看索引和值. s1=Serie ...
随机推荐
- AngularJS学习之旅—AngularJS 控制器(六)
1.AngularJS 控制器 AngularJS 应用程序被控制器控制. ng-controller 指令定义了应用程序控制器. 控制器是 JavaScript 对象,由标准的 JavaScript ...
- 基于Angular和Spring WebFlux做个小Demo
前言 随着Spring Boot2.0正式发布,Spring WebFlux正式来到了Spring Boot大家族里面.由于Spring WebFlux可以通过更少的线程去实现更高的并发和使用更少的硬 ...
- .NET CORE学习笔记系列(2)——依赖注入[4]: 创建一个简易版的DI框架[上篇]
原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...
- Nginx解读内置非默认模块 ngx_http_stub_status_module
1 Background http://nginx.org/en/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_mod ...
- slice()和splice()区别
1.slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素. 注意:该方法不会改变原数组,而是返回一个子数组,如果想删除 ...
- 【题解】P1171 售货员的难题
Tags 搜索,状压. 裸的旅行商问题 #include <stdio.h> #include <string.h> #define re register #define ...
- day7-基础函数的学习(二)
过了元旦,加油鸭,冲鸭!!! 闲话不说,开始今日份学习整理. 今日目录,今天的学习内容不是很多! 1.函数名的运用 2.闭包(重要) 3.迭代器(重要) 开始今日份总结 1.函数名的运用 1.1函数名 ...
- Codeforces Round #551 (Div. 2) EF Solution
E. Serval and Snake 对于一个矩形,如果蛇的一条边与它相交,就意味着这条蛇从矩形内穿到矩形外,或者从矩形外穿到矩形内.所以如果某个矩形的答案为偶数,意味着蛇的头尾在矩形的同一侧(内或 ...
- gulp 自动ftp至服务器时,处理开发 测试服务器地址问题
var gulp=require('gulp'), babel = require('gulp-babel'), gulpSequence = require('gulp-sequence'), ht ...
- 小议SQL数据插入
--数据插入操作:INSERT INTO user_info(username,age) VALUES('ZHANGSAN',20);INSERT INTO user_info(username,ph ...