Python数据分析与展示[第三周](pandas简介与数据创建)
第三周的课程pandas 分析数据
http://pandas.pydata.org
import pandas as pd
常与numpy matplotlib 一块定义
d=pd.Series(range(20))
d.cumsum()
主要提供两个数据类型
Series DataFrame
基于上述数据类型的各类操作
很好的表示和封装
numpy 更关注数据的结构表达 数据之间构成的维度
pandas 基于numpy 实现的扩展库
建立其应用与索引之间的关系
Series 数据和索引 series类型由一组数据与索引构成
a=pd.Series([9,8,7,6])
会自动增加一个索引
沿用numpy中的类型
更强大的索引能力
b=pd.Series=([9,8,7,6],index=['a','b','c','d'])
b
自定义索引的写法 ↑
对于其每一个数据都会关联一个索引(自动生成或者自定义索引)
Series 可以由 python列表 标量值其它函数 python字典 numpy ndarray
这里是Series 的创建
1 标量创建
s=pd.Series(25,index=['a','b','c'])
这里的index=不可省略
2 字典创建
d=pf.Series({"a":9,"b":8,"c":7})
这样的话 key -> index
value ->value
e=pd.Series({'a':9,'b':8,'c':7},index=['c','b','a'])
这里的index制定了形状
e
c 7.0
a 9.0
b.8.0
d Nan
以上的字典构造Series 的两种方式
3 ndarray中创建
n=pd.Series(np.arrange(5))
m=pd.Series(np.arrange(5),index=np.arrange(9,4,-1))
Series 的基本操作
import pandas as pd
b=pd.Series([9,8,7,6],['a','b','c','d'])
b.index
b.values
获得index 和 values
Series = index + ndarray
b[1]
8
b['b']
8
两套索引可以并存,但是不能混用
可以用自定义索引的列表进行切片
可以通过自动索引进行切片
b[3] 第3个
b[:3] 0-3个
Series 类型切出来还是Series 类型
b[b>b.median()] 所有大于元素中位数的项
输出Series类型
是Series 就有index 和 values
对Series的运算都是返回Series
类似字典类型
可以通过自动索引进行切片,而且索引和值会被一同切片
保留字 in
'c' in b 判断c是不是b的索引的一部分(只判断自定义索引,不会判断自动索引)
True
方法 .get()
b.get('f',100) 得到 ‘f’对应的值,没有就返回100(默认)
Series 的对齐操作
a=pd.Series([1,2,3,],['c','d','e'])
b=pd.Series([9,8,7,6],['a','b','c','d'])
a+b
索引相同的元素相加,索引不同的项不管
有数据+没有值=没有值
这是一个对齐问题(更加精确,更加不容易出错)
对象和索引都可以有一个书名,存储在.name
b.name 对象的名字
b.index.name 索引的名字
Series类型的修改
随时修改并且即刻生效
b['b','c']=20 修改索引为'b','c'的元素
基本操作之间存在对齐问题 , 根据索引对齐
带标签数组的含义就是
DataFrame 类型
是由公用相同索引的一组列组成
index\column axis=1
index_0 data_a ...
index_1 data_b ...
...
axis=0
表格型的数据类型
常用二维数据
DataFrame的创建
二维nd.array对象
由一维ndarray ,列表,字典,元组,Series 构成的字典
Series 类型
其他的Dataframe创建
import pandas as pd
import numpy as np
d=pd.DataFrame(np.arrange(10).reshape(2,5))
d
0 1 2 3 4
0 0 1 2 3 4
1 5 6 7 8 9
使用字典创建 DataFrame
dt={"one":pd.Series([1,2,3],index=['a','b','c']) ,
"two":pd.Series([9,8,7,6],index=['a','b','c','d'])
}
每一个字典键值对,对应一个column
d=pd.DataFrame(dt)
d
one two
a 1 9
b 2 8
c 3 7
d nan 6
有一点点像自动对齐
pd.DataFrame(dt,index=['b','c','d'],column=['two','three'])
这里也同样是指定形状
有一点像自动对齐的规则
two three
b 8 nan
c 7 nan
d 6 nan
还可以通过列表类型的字典创建
dl={'one':[1,2,3,4],'two':[9,8,7,6]}
key:List 分别对应两个column ,columnvalues
d=pd.DataFrame(dl,index=['a','b','c','d']) 只指定index
用字典的话column顺序 不一定与字典中相同
d.columns
d.index
返回Series (index)
d.values
返回ndarray
D['同比']获得其中某一列(column) Series
d.ix[] 获得其中的某一行(row) Series
d["同比"][“c2”] 先列(column)后行 奇怪。。(看上面的取值方法)
d.ix['c2'][同比] 这样就先行(row)后列了吧(column)
二维带标签的数组
Python数据分析与展示[第三周](pandas简介与数据创建)的更多相关文章
- Python数据分析与展示[第三周](pandas数据类型操作)
数据类型操作 如何改变Series/ DataFrame 对象 增加或重排:重新索引 删除:drop 重新索引 .reindex() reindex() 能够改变或重排Series和DataFrame ...
- Python数据分析与展示[第三周](pandas数据特征分析单元8)
数据理解 基本统计 分布/累计统计 数据特征 数据挖掘 数据排序 操作索引的排序 .sort_index() 在指定轴上排序,默认升序 参数 axis=0 column ascending=True ...
- python数据分析及展示(三)
一.Pandas库入门 1. Pandas库的介绍 http://pandas.pydata.org Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas ...
- Python数据分析与展示第3周学习笔记(北京理工大学 嵩天等)
入门学习马上结束辽. 1.Pandas库 import pandas as pd 两个数据类型:Series,DataFrame Series类型:数据+索引 自定义索引 b = pd.Series( ...
- Python数据分析与展示第2周学习笔记(北理工 嵩天)
单元4:Matplotlib库入门 matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式 import matplotlib.pyplot as plt # -*- cod ...
- Python数据分析与挖掘所需的Pandas常用知识
Python数据分析与挖掘所需的Pandas常用知识 前言Pandas基于两种数据类型:series与dataframe.一个series是一个一维的数据类型,其中每一个元素都有一个标签.series ...
- 【学习笔记】PYTHON数据分析与展示(北理工 嵩天)
0 数据分析之前奏 课程主要内容:常用IDE:本课程主要使用:Anaconda Anaconda:一个集合,包括conda.某版本Python.一批第三方库等 -支持近800个第三方库 -适合科学计算 ...
- Python数据分析:手把手教你用Pandas生成可视化图表
大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事.但自从Python进入3.0时代以后, ...
- Python 学习日记(第三周)
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...
随机推荐
- python-web-selenium模拟控制浏览器
用 selenium 模块控制浏览器 启动 selenium 控制的浏览器 from selenium import webdriver brower = webdriver.Firefox() br ...
- Ajax请求Session超时解决
web前端js代码: $.ajaxSetup({ contentType : "application/x-www-form-urlencoded;charset=utf-8", ...
- CAS去掉HTTPS认证
如何去掉HTTPS认证? 说明:默认情况下HTTP也是可以访问CAS SERVER的,但认证,登陆,退出等操作均没有任何的效果.所以必须作出下面的修改 1.进入WEB-INF\spring-confi ...
- 2018-12-6-Roslyn-如何基于-Microsoft.NET.Sdk-制作源代码包
title author date CreateTime categories Roslyn 如何基于 Microsoft.NET.Sdk 制作源代码包 lindexi 2018-12-06 16:2 ...
- property中ref、value、name的区别
转载: 版权声明:本文为CSDN博主「qq_36098284」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net ...
- python使用SUDS调用webservice
最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip in ...
- 【NOIP2016提高A组集训第14场11.12】随机游走——期望+树形DP
好久没有写过题解了--现在感觉以前的题解弱爆了,还有这么多访问量-- 没有考虑别人的感受,没有放描述.代码,题解也写得歪歪扭扭. 并且我要强烈谴责某些写题解的代码不打注释的人,像天书那样,不是写给普通 ...
- HZOI20190814 B 不等式
不等式 题目大意:求解满足$L \leqslant(S×x)mod M\leqslant R$的x最小正整数解,无解输出-1 几种部分分: $L==R$,就是$ex_gcd$; 解在$1e6$以内:搜 ...
- springboot拦截器之验证登录
添加jar包,这个jar包不是必须的,只是在拦截器里用到了,如果不用的话,完全可以不引入 <dependency> <groupId>org.apache.commons< ...
- GVEdit中使用graphviz
官方文档 安装完graphviz后,文档在安装目录下,位置如下 E:\Gra2.38\share\graphviz\doc\html 中文乱码解决 将文件保存为utf-8编码 fontname=&qu ...