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]) ...
随机推荐
- day02-运算符 and 和 or 的用法
# 运算符的优先级 # () > not > and > or # and 必须两边表达式都为真,才为真 # or 如果表达式有一边为真,则为真 # not 表示非.比如 not 2 ...
- ElasticSearch搜索(一)
首先从ES的支持的字段说起,ES文档中字段有多种类型 官方文档. 这几个比较常用: text,keyword,integer,float,boolean,object,geo_point(地理坐标), ...
- linux的/etc/profile、~/.profile、~/.bashrc、~./bash_profile这几个配置文件
在添加环境变量的时候,我们会去修改配置文件 如果留意过,网上博文,有些在/etc/profile文件中配置的,有些是在~./bash_profile文件中配置的,等等 那么,/etc/profile. ...
- 指路Reactive Programming
指路Reactive Programming Mar 02, 2016 in Engineering 我在工作中采用Reactive Programming(RP)已经有一年了,对于这个“新鲜”的辞藻 ...
- BZOJ5261 Rhyme--广义SAM+拓扑排序
原题链接,不是权限题 题目大意 有\(n\)个模板串,让你构造一个尽量长的串,使得这个串中任意一个长度为\(k\)的子串都是至少一个模板串的子串 题解 可以先看一下这道题 [POI2000]病毒 虽然 ...
- Day062--django--模板,母版和继承
1.MVC和MTV MVC C Controller : 逻辑的控制 M Model : 存取数据 V View : 信息的展示 MTV M : model ORM操作 T: Template 模板 ...
- Atcoder刷题小记
1. 2019.4.27 agc016d 一道很坑的题. 首先判无解,求出异或值后排个序就可以. 然后直接让\(a_i\rightarrow b_i\)并查集维护,注意离散化和判重,答案加上联通块个数 ...
- SOA 和 微服务
正在读 钟华 著的<<企业IT架构转型之道 - 阿里巴巴中台战略思想与架构实战>> 一书, 参考了网上的讨论, 对SOA和微服务有了一些新的认识. 知乎上的讨论: SOA 与 ...
- Bootstrap里的Modal框
- java里getter和setter的作用(转载)
[java]类中使用getter和setter的优势 http://www.importnew.com/9716.html java有三大特性:封装,继承还有多态. 而今天,我来讲一下其中最重要的特性 ...