二、Pandas库与数据处理
# Author:Zhang Yuan
import pandas as pd
import numpy as np #Pandas提供了两大数据结构:一维结构的Series类型、二维结构的DataFrame类型。 #Series对象本质上是Numpy对象,具有index和values两大属性。 #对于输入的valuas,Series会默认位置索引0、1、2、3...,还可以自定义标签索引。 #Series切片支持“标签切片”和“位置切片”。位置切片即Python切片,包括头不包括尾;但“标签切片”包括头包括尾。之所以这样设计是因为,通常我们不知道标签的顺序,无法知道末尾标签下一个标签是什么。 #时间序列Series,在索引和切片方面有优化:
from datetime import datetime
dates=[datetime(2016,1,1),datetime(2016,1,2),datetime(2016,1,3),datetime(2016,2,1)]
ts=pd.Series([1,2,3,4],index=dates)
print(ts[""],ts["2016-01-01"],ts["01/01/2016"]) #时间序列多种字符串索引
print(ts[""]) #只传入年或年月来切片
print(ts["2016-01"]) #只传入年或年月来切片
print(ts["2016-01":"2016-03"]) #切片字符串时间戳可以不必存于index中 #DataFrame是一个表格型的数据结构,每一列代表一个变量,每一行是一条记录。简单来说,DataFrame是共享同一个index的Series的集合。 #DataFrame对象的索引和切片---------------------------------------------------
dates=[datetime(2016,1,i) for i in range(1,10)]
df=pd.DataFrame(np.random.randn(9,4),index=dates,columns=list("ABCD"))
print(df[0:3]) #对行切片
print(df["A"]) #提取单独一列
print(df[["A","C"]]) #提取多列
print(df[df["A"]>0]) #根据boolean值提取行
#PS注意:对列直接切片出错:df["A":"C"];直接同时的操作行列也出错:df[1:3,"A"]
#如果要行列操作,需要用方法:标签索引和切片loc[]
print(df.loc[:,"A"]) #提取一列
print(df.loc[:,"A":"C"]) #列切片
print(df.loc[dates[0:4],"A":"C"]) #行列切片
print(df.loc[dates[0],"A"]) #特定值
print(df.loc[df.loc[:,"A"]>0]) #根据boolean值提取
#如果要行列操作,需要用方法:位置索引和切片iloc[]
print(df.iloc[2]) #提取行,相当于df.iloc[2,:]
print(df.iloc[:,2]) #提取列
print(df.iloc[[1,4],[2,3]]) #提取多个行列值,不是切片,类似numpy
print(df.iloc[1:5,2:4]) #切片
print(df.iloc[2,3]) #提取特定值
#----------------------------------------------------------------------------- #Series与DataFrame对象的运算
#Series与Series是index匹配运算
s1=pd.Series([1,2,3],index=list("ABC"))
s2=pd.Series([4,5,6],index=list("BCD"))
s2-s1
#DataFrame与Series是DataFrame的column与Series的index匹配,PS:不是index匹配
df1=pd.DataFrame(np.arange(1,13).reshape(3,4),index=list("abc"),columns=list("ABCD"))
df1-s1
#DataFrame与DataFrame是同时对index与column匹配
df2=pd.DataFrame(np.arange(1,13).reshape(4,3),index=list("bcde"),columns=list("CDE"))
df1*df2 #DataFrame的轴axis与numpy一样。0轴-Y轴-列数据、1轴-X轴-行数据。
二、Pandas库与数据处理的更多相关文章
- pandas库学习笔记(二)DataFrame入门学习
Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...
- Python之Pandas库常用函数大全(含注释)
前言:本博文摘抄自中国慕课大学上的课程<Python数据分析与展示>,推荐刚入门的同学去学习,这是非常好的入门视频. 继续一个新的库,Pandas库.Pandas库围绕Series类型和D ...
- Pandas库中的DataFrame
1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...
- pandas库的数据类型运算
pandas库的数据类型运算 算数运算法则 根据行列索引,补齐运算(不同索引不运算,行列索引相同才运算),默认产生浮点数 补齐时默认填充NaN空值 二维和一维,一维和0维之间采用广播运算(低维元素与每 ...
- 数据分析与展示---Pandas库入门
简介 一:Pandas库的介绍 二:Pandas库的Series类型 (一)索引 (1)自动索引 (2)自定义索引 (二)Series类型创建 (1)列表创建 (2)标量值创建 (3)字典类型创建(将 ...
- 【Python学习笔记】Pandas库之DataFrame
1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...
- python pandas库——pivot使用心得
python pandas库——pivot使用心得 2017年12月14日 17:07:06 阅读数:364 最近在做基于python的数据分析工作,引用第三方数据分析库——pandas(versio ...
- Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结
pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...
- Python Pandas库的学习(三)
今天我们来继续讲解Python中的Pandas库的基本用法 那么我们如何使用pandas对数据进行排序操作呢? food.sort_values("Sodium_(mg)",inp ...
随机推荐
- JS的this原理
转载阮一峰博客: www.ruanyifeng.com/blog/2018/06/javascript-this.html 一.问题的由来 学懂 JavaScript 语言,一个标志就是理解下面两 ...
- SQLachemy基础
SQLAchemy SQLAchemy是python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作, 简言之便是:将对象转换成SQL,然后使用数据API执行S ...
- Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) A
Vasily has a number a, which he wants to turn into a number b. For this purpose, he can do two types ...
- Haproxy常见用法
简介 HAProxy 提供高可用性.负载均衡以及基于 TCP 和 HTTP 应用的代理,支持虚拟主机, 它是免费.快速并且可靠的一种解决方案. HAProxy 特别适用于那些负载特大的 web 站点, ...
- Linux网路命令netstat
Linux网路命令netstat netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息. 参数 参数 用法 详解 -a或--a ...
- JMeter--PerfMon Metrics Collector监控内存及CPU
1.需要准备的软件及插件 ServerAgent-2.2.1.zip JMeterPlugins-Standard-1.3.1.zip 2.jmeter上JMeterPlugins-Standard- ...
- # bug 查找 (一) 快速记录 IE8 下三个问题
bug 查找 (一) 快速记录 IE8 下三个问题 昨天 pc 端网站上灰度,发现多个在 IE8 下的问题,描述和解决方案如下: 第一个问题是 css 文件过大 现象 把项目所有的 css 打包成单个 ...
- SQL 数学串函数
数学函数 ceiling 取上限 floor 取下限 round 四舍五入 len 长度 abs 绝对值 PI()圆周率 sqrt 开根号 qwuare 平方根 select 10 ...
- POJ 1739 Tony's Tour (插头DP,轮廓线DP)
题意:给一个n*m的矩阵,其中#是障碍格子,其他则是必走的格子,问从左下角的格子走到右下角的格子有多少种方式. 思路: 注意有可能答案是0,就是障碍格子阻挡住了去路. 插头DP有两种比较常见的表示连通 ...
- [Q&A]VS 2012 MVC4专案与网站的差异?「ASP.NET组态」的Login账号出现在「新旧两组」会员数据库里面?
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/30/mvc4_vs2012_login_member_db.aspx [Q&a ...