python的pandas库学习笔记
导入:
import pandas as pd
from pandas import Series,DataFrame
1、两个主要数据结构:Series和DataFrame
(1)Series是一种类似于一维数组的对象,由数据和标签组成;标签未传入则默认标签为0到N-1.
obj=Series([4,7,-5,3])
Out0 4
1 7
2 -5
3 3
obj.values=array([4,7,-5,3]);obj.index=Int64Index([0,1,2,3])
b 7
a -5
c 3
取值obj2['a']=-5;修改obj2['d']=6,则obj2[['c','a','d']]=
a -5
d 6
根据字典创建:sdata={'A':100,'B':200,'C':300};obj3=Series(sdata)(按键值有序排列)
B 200
C 300
states=['B','C','D'];obj4=Series(sdata,index=states)
C 300
D NaN(缺失值)
isnull和notnull函数用于检测缺失数据,pd.isnull(obj4)和pd.notnull(obj4)结果分别是:
C False True
D True False
算术运算中会自动对齐,obj3+obj4
B 400
C 600
D NaN
对象本身和索引都有name属性;索引可以通过赋值方式修改。
(2)DataFrame是一个表格型数据结构,含有一组有序的列,每列可以是不同的值类型。
等长字典构建。data={'A':['a','b','c'],'B':[1,2,3],'C':[0.1,0.2,0.3]};frame=DataFrame(data)(有序排列ABC);指定顺序排列DataFrame(data,columns=['B','C','A']);指定索引frame2=DataFrame(data,columns=['B','C','A','D'],index=['one',two','three'])
0 a 1 0.1 1 0.1 a one 1 0.1 a NaN
1 b 2 0.2 2 0.2 b two 2 0.2 b NaN
2 c 3 0.3 3 0.3 c three 3 0.3 c NaN
可以通过类似字典标记的方式或属性的方式,获取列为一个Series。frame2['A']或frame2.B;获取行用ix,frame2.ix['one'];列可以通过赋值方式修改,frame['D']=10或np.array(3.)。利用del删除列,如del frame2['D']。
嵌套字典构建,外层字典的键作为列,内层键作为行索引。
2、基本功能
(1)reindex创建一个适应新索引的新对象,根据新索引进行重排,某个索引值不存在,引入缺失值。fill_value填充空值,method=‘ffill'根据前一个值填充;‘bfill'后向填充。
(2)drop在指定轴上删除指定值的新对象。对于DataFrame,axis=0删除行,默认为行;axis=1删除列。
(3)利用标签的切片运算,末端是包含的。
3、算术运算和数据对齐
可以对不同索引的对象进行算术运算,相加的索引为索引的并集,不重叠的索引引入缺失值 。
python的pandas库学习笔记的更多相关文章
- pandas库学习笔记(二)DataFrame入门学习
Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...
- python 之Requests库学习笔记
1. Requests库安装 Windows平台安装说明: 直接以管理员身份打开cmd运行界面,使用pip管理工具进行requests库的安装. 具体安装命令如下: >pip instal ...
- pandas库学习笔记(一)Series入门学习
Pandas基本介绍: pandas is an open source, BSD-licensed (permissive free software licenses) library provi ...
- Python之Pandas库学习(二):数据读写
1. I/O API工具 读取函数 写入函数 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json ...
- Python之Pandas库学习(一):简介
官方文档 1. 安装Pandas windos下cmd:pip install pandas 导入pandas包:import pandas as pd 2. Series对象 带索引的一维数组 创建 ...
- Python之Pandas库学习(三):数据处理
1. 合并 可以将其理解为SQL中的JOIN操作,使用一个或多个键把多行数据结合在一起. 1.1. 简单合并 参数on表示合并依据的列,参数how表示用什么方式操作(默认是内连接). >> ...
- 【python 】Requests 库学习笔记
概览 实例引入 import requests response = requests.get('https://www.baidu.com/') print(type(response)) prin ...
- $《利用Python进行数据分析》学习笔记系列——IPython
本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...
- numpy, matplotlib库学习笔记
Numpy库学习笔记: 1.array() 创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...
随机推荐
- 如何用Electron Js创建第一个应用Hello World
什么是Electron Node.js和Chromium的结合品.允许只使用HTML,CSS和JavaScript来开发跨平台桌面应用. 编写第一个Electron程序(Hello World) 在开 ...
- [LVM]创建LVM卷
https://www.cnblogs.com/softidea/p/5147090.html
- laravel 【error】MethodNotAllowedHttpException No message
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException No message 报错原因[原理]CSRF ...
- 洛谷 P5304 [GXOI/GZOI2019]旅行者(最短路)
洛谷:传送门 bzoj:传送门 参考资料: [1]:https://xht37.blog.luogu.org/p5304-gxoigzoi2019-lv-xing-zhe [2]:http://www ...
- 利用java内部静态类实现懒汉式单例
/** * @Description: 利用键值模式控制service * @Author: zhanglifeng * @Date: 2019年 04月 28日 14:41 **/ public c ...
- <02>labSQL的配置和使用方法
任务布置:制作简单地铁站点管理系统<2> 要求一:正确配置系统,建立基本正常的数据通道:要求二:实现地铁站点的登记,拥有查询功能: 正文: 今天介绍labview虚拟仪器软件中 labS ...
- linux下实用的快速随机生成复杂密码
linux下实用的快速随机生成复杂密码 [root@test.db-audit.1 ~]# </dev/urandom tr -dc '1234567890!@#$%abcdefghigklmn ...
- .NET Core微服务系列基础文章
今年从原来的Team里面被抽出来加入了新的Team,开始做Java微服务的开发工作,接触了Spring Boot, Spring Cloud等技术栈,对微服务这种架构有了一个感性的认识.虽然只做了两个 ...
- docker时间与系统时间同步的问题
系统是CentOS7,因为开发环境是windows没有这个问题,发布到docker以后当前时间进行比较,发现docker里面用java获取当时间不对,然后查docker的时间少了8个小时. 网上查了很 ...
- JAVA之锁-cas
CAS是什么? CAS是英文单词CompareAndSwap的缩写,中文意思是:比较并替换.CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B. CAS指令执行时,当且仅当内存地址 ...