pandas模块详解
Pandas模块
1、什么是pandas
pandas是基于numpy构建的,用来做数据分析的
2、pandas能干什么
- 具备对其功能的数据结构DataFrame,Series
- 集成时间序列功能
- 提供丰富的数学运算和操作
- 灵活处理缺失数据
3、怎么用pandas
安装引用
pip install pandas
import pandas as pd
Series
一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成
#创建方法
pd.Series([1,2,3,4,5]) ##将数组索引以及数组的值打印出来,索引在左,值在右
pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
pd.Series({'a':1,'b':2})
pd.Series(0,index=['a','b','c'])
缺失数据
- dropna() 过滤掉值为Nan的行
- fill() 填充缺失数据
- isnull() 返回布尔数组,缺失值对应为True
- notnull() 返回布尔数组,缺失值对应为False
Series特性
从ndarray创建Series:Series(arr)
arr=np.arange(10)
sr=pd.Series(arr)
与标量(数字)进行运算
srx=sr*2
两个Series运算
sr*srx
布尔值过滤
sr[sr>3]
统计函数:mean(),sum(),cumsum()
支持字典的特性
从字典创建Series:Series(dic)
dic={'a':1,'b':2,'c':3,'d':4,'e':5}
dic_arr=pd.Series(dic)
in运算
for i in dic_arr:
print(i)
键索引
dic_arr=[['a','b']]
键切片
dic_arr['a':'c']
其他函数
dic_arr.get('a',default=0)
整数索引
sr=pd.Series(np.arange(10))
sr1=sr[4:].copy()
loc属性 以标签解释
iloc属性 以下标解释
sr1.iloc[1]
sr1.loc[3]
Series数据对齐
sr1=pd.Series([10,20,30],index=['a','b','c'])
sr2=pd.Series([30,20,10].index=['c','b','a'])
sr1+sr2
#将两个Series对象相加将缺失值设为0
sr1=pd.Series([10,20,30],index=['a','b','c'])
sr2=pd.Series([30,20,10].index=['c','b','a','d'])
sr1.add(sr2,fill_value=0)
#灵活的算术方法:add,sub,div,mul
DataFrame
DataFrame是一个表格型的数据结构,相当于一个二维数组,含有一组有序的列。他可以被看做由Series组成的字典,并且公用一个索引
创建方式
pd.DataFrame({'one':[1,2,3,4],'two':[4,3,2,1]})
data=pd.DataFrame({'one':[1,2,3,4],'two':[4,3,2,1]})
pd.DataFrame(data,columns=['one','two'])
pd.DataFrame({'one':pd.Series([1,2,3],index=['a','b','c']),'two':pd.Series([1,2,3],index=['b','a','c'])})
查看数据
常用属性和方法
index获取行索引
columns获取列索引
T转置
values获取值索引
describe获取快速统计
数组名.index 数组名.columns 数组名.T
数组名.values 数组名.describe
索引和切片
- DataFrame有行索引和列索引
- DataFrame可以通过标签和位置两张方法进行索引和切片
#两个中括号
import tushare as ts
data =ts.get_k_data('000001')
data['open'][:10] #先取列再去行
data[:10]['open']
#使用loc、iloc属性
data.loc[:10,'open':'low'] #用标签取值
data.iloc[:10,1:5] #用下标取值
时间对象处理
处理时间对象可能是我们在进行数据分析的过程中最常见的,我们会遇到各种格式的时间序列,也需要处理各种格式的时间序列
时间序列类型
时间戳:特定时刻
国定时间:如2017年2月
时间间隔:起始时间-结束时间
pandas模块详解的更多相关文章
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- python之OS模块详解
python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...
- python之sys模块详解
python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...
- python中threading模块详解(一)
python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...
- python time 模块详解
Python中time模块详解 发表于2011年5月5日 12:58 a.m. 位于分类我爱Python 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括: ...
- python time模块详解
python time模块详解 转自:http://blog.csdn.net/kiki113/article/details/4033017 python 的内嵌time模板翻译及说明 一.简介 ...
- 小白的Python之路 day5 time,datatime模块详解
一.模块的分类 可以分成三大类: 1.标准库 2.开源模块 3.自定义模块 二.标准库模块详解 1.time与datetime 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时 ...
- 小白的Python之路 day5 random模块和string模块详解
random模块详解 一.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 二.常用方法 1. random.r ...
- Python中time模块详解
Python中time模块详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. ...
随机推荐
- 剑指offer-面试题61-扑克牌中的顺子-数组
/* 题目: 从扑克牌中随机抽取n个数字,判断他们是否连续,扑克牌从A~K,大小王可代替任意数字. */ #include<iostream> #include<cstdlib> ...
- npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
Mac 权限不够 前面加sudo 然后输入密码
- C#中的异步编程--探索await与async关键字的奥妙之处,原来理解和使用异步编程可以这么简单
前言 await与async是C#5.0推出的新语法,关于await与async有很多文章讲解.但看完后有没有这样一种感觉,感觉这东西像是不错,但好像就是看不太懂,也不清楚该怎么使用.虽然偶有接触,但 ...
- cf1041E
题意:要求你构造一棵树,树中每一个节点都有一个编号(互不相同),告诉你删除掉每一条边之后的两个联通分量中节点标号的最大值,要求你输出这颗树,不存在就输出NO 题解:可以发现这颗树实际上是一个序列,我们 ...
- Selenium实战(五)——HTML测试报告
一.概览下载与安装 HTMLTestRunner是unittest的一个扩展,可以生成易于使用的HTML测试报告.HTMLTestRunner是在BSD许可证下发布的. 下载地址:http://tun ...
- GYCTF Flaskapp[SSTI模板注入 ]
题目复现传送门 学习链接: 找了个师傅的blog先学习一下基础的flask知识 https://www.freebuf.com/column/187845.html(从零学flask) 简单记录一下: ...
- jsp+servlet和ajex中遇到的问题
软件杯的时候,我们的项目需要在手机端运行,由于本身的这个项目我们使用jsp+servlet做的一个项目,所以我们利用ajex,把eclipse作为后台运行tomcat8,,在hbuilder用weba ...
- 【35】单层卷积网络(simple convolution)
今天我们要讲的是如何构建卷积神经网络的卷积层,下面来看个例子. 上节课,我们已经讲了如何通过两个过滤器卷积处理一个三维图像,并输出两个不同的4×4矩阵.假设使用第一个过滤器进行卷积,得到第一个4× ...
- Game with string CodeForces - 1104B
虽然只是B题,还是div2的 但感觉挺有意思,所以写一篇博客记录一下 最初的想法是利用DP去做,f[s]=true表示字符串s对应先手赢,否则对应后手赢,大致想了下发现是指数级别的算法,看了下范围直接 ...
- 题解【AcWing1089】烽火传递
题面 单调队列优化 DP 模板题. 我们考虑设 \(dp_{i}\) 表示从 \(1\) 到 \(i\) 能够准确传递情报,且第 \(i\) 个烽火台发出信号的最小费用. 转移方程不难得出:\(dp_ ...