写在前面的话: 实例中的所有数据都是在GitHub上下载的,打包下载即可. 地址是:http://github.com/pydata/pydata-book 还有一定要说明的: 我使用的是Python2.7,书中的代码有一些有错误,我使用自己的2.7版本调通. # coding: utf-8 import json path = 'D:\Source Code\pydata-book-master\ch02\usagov_bitly_data2012-03-16-1331923249.txt'…
引言 1 列表推导式 records = [json.loads(line) for line in open(path)] 这是一种在一组字符串(或一组别的对象)上执行一条相同操作(如json.loads)的简洁方式.在一个打开的文件句柄上进行迭代即可获得一个由行组成的序列.现在,records对象就成为一组Python字典了. {u'a': u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko)…
绘图和可视化 matplotlib入门 创建窗口和画布 fig = plt.figure() ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2,2,2) ax3 = fig.add_subplot(2,2,3) plt.show(fig) 方便创建多个画布 fig, axes = plt.subplots(2,3) print axes plt.show(fig) 调整subplot周围的间距 颜色.标记.线型 ax.plot(x,y,'g…
数据加载.存储与文件格式 读写文本格式的数据 逐块读取文本文件 read_xsv参数nrows=x 要逐块读取文件,需要设置chunksize(行数),返回一个TextParser对象. 还有一个get_chunk方法,它使你可以读取任意大小的块. 将数据写出到文本格式 DataFrame的to_csv() Series的to_csv()和from_csv()和read_csv() 手工处理分隔符格式 JSON数据 python标准库中有专门操作模块 json.loads() json.dump…
NumPy基础:数组和矢量计算 NumPy的ndarray:一种多维数组对象 该对象是一个快速灵活的大数据集容器.你可以利用这种数组对整块数据执行一些数学运算,其语法跟标量元素之间的运算一样 列表转换为数组 二维列表 数据类型 其他一些自动生成的数组 arange() ndarray的数据类型 使用astype()方法转换类型,如果将浮点数转换成整数,则小数部分将会被截断,如果某个字符串数组全是数字,也可以用其转换为数值形式 数组和标量之间的运算 数组很重要,因为它使你不用编写循环即可对主句执行…
数据规整化:清理.转换.合并.重塑 合并数据集 pandas.merge pandas.concat combine_first 数据库风格的DataFrame合并 索引上的合并 join()实例方法 轴向连接 NumPy中有concatenation pandas中concat() 合并重叠数据 NumPy中的where() pandas中的combine_first 重塑和轴向旋转 重塑层次化索引 stack() 列到行 unstack() 行到列 将长格式旋转为宽格式 不懂 数据转换 移除…
pandas入门 数据结构 Series Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成.仅由一组数据即可产生最简单的Series: 可以通过索引的方式选取Series中的单个或一组值. 运算(根据布尔型数组进行过滤,标量乘法,应用数学函数). 根据字典创建Series. NaN(not a number)表示缺失或NA值. isnull()和notnoll()用于检测缺失数据. 在算术运算中会自动对齐不同索引的数据. Se…
此文对Python中时期.时间戳.时区处理等阐述十分清楚,特别值得推荐学习. 原文链接:https://blog.csdn.net/wuzlun/article/details/80287517…
http://www.cnblogs.com/batteryhp/p/4868348.html 第一章 准备工作 今天开始码这本书--<利用python进行数据分析>.R和python都得会用才行,这是码这本书的原因.首先按照书上说的进行安装,google下载了epd_free-7.3-1-win-x86.msi,译者建议按照作者的版本安装,EPDFree包括了Numpy,Scipy,matplotlib,Chaco,IPython.这里的pandas需要自己安装,对应版本为pandas-0.…
点击获取提取码:hi2j 内容简介 [名人推荐] "科学计算和数据分析社区已经等待这本书很多年了:大量具体的实践建议,以及大量综合应用方法.本书在未来几年里肯定会成为Python领域中技术计算的权威指南." --Fernando Pérez 加州大学伯克利分校 研究科学家, IPython的创始人之一 [内容简介] 还在苦苦寻觅用Python控制.处理.整理.分析结构化数据的完整课程?本书含有大量的实践案例,你将学会如何利用各种Python库(包括NumPy.pandas.matplo…
以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分代码组成:少量需要占用大部分执行时间的代码,以及大量不经常执行的“粘合剂代码”. cython已经成为python领域中创建编译型扩展以及对接c/c++代码的一大途径. 3.在那些要求延迟性非常小的应用程序中(例如高频交易系统),为了尽最大可能地优化性能,耗费时间使用诸如C++这样更低级.更低生产率的语言进行…
<利用Python进行数据分析·第2版>第五章 pandas入门--基础对象.操作.规则 python引用.浅拷贝.深拷贝 / 视图.副本 视图=引用 副本=浅拷贝/深拷贝 浅拷贝/深拷贝区别 浅拷贝:拷贝对象的副本,但内部子对象还是引用(如果list内还有小list,小list改变会使原对象变化 .copy/python切片/ * 运算 深拷贝:父对象子对象副本全都拷贝,没有引用 .deepcopy 第五章:pandas入门 pandas: Series:类数组数据结构 DataFrame:…
本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环境的增强.作者进行Python开发最经典的开发环境搭配是:IPython外加一个文本编辑器,其实我自己平时写python代码也差不多是这样的开发环境:Windows系统下是IPython加notepad++,Linux系统下是IPython加vim,写起代码来体验很流畅,很容易获取到那种"流体验&q…
<利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对象.其C语言编写的算法库可以操作内存而不必进行其他工作.比起内置序列,使用的内存更少(即时间更快,空间更少) numpy可以在整个数组上执行复杂的计算,而不需要借助python的for循环 4.0 前提知识 数据:结构化的数据代指所有的通用数据,如表格型,多维数组,关键列,时间序列等 相关包:numpy pa…
本篇开始,结合前面所学的Python基础,开始进行实战学习.学习书目为<利用Python进行数据分析>韦斯-麦金尼 著. 之前跳过本书的前述基础部分(因为跟之前所学的<Python基础>重复),进入第四章-Numpy基础的学习. 1. 了解IPython - Python实验组必备工具 1.1 如何安装IPython 安装IPython和jupyter两个包.(本人使用的是PyCharm+Anaconda,直接在Settings里面搜索install即可) 1.2 如何使用IPyt…
转自https://zhuanlan.zhihu.com/p/26100976 目录: 5.1 pandas 的数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3索引对象5.2基本功能 5.2.1重新索引5.2.2丢弃指定轴上的项5.2.3索引.选取和过滤5.2.4算术运算和数据对齐5.2.4.1在算术方法中填充值5.2.4.2 DataFrame和Series之间的运算5.2.5函数应用和映射5.2.6排序和排名5.2.7带有重复的轴索引5.3汇总和计算描述性统计5.…
最近在阅读<利用Python进行数据分析>,本篇博文作为读书笔记 ,记录一下阅读书签和实践心得. 准备工作 python环境配置好了,可以参见我之前的博文<基于Python的数据分析(1):配置安装环境>.还需要安装第三方包包括NumPy.pandas.matplotlib.IPython.SciPy.用pip安装工具下载自动安装即可,如果有网络问题,请在自行百度"host google"更新host文件. 接下来是配置IPython,初步感受了这个与之前接触的…
<利用Python进行数据分析·第2版> 第 1 章 准备工作第 2 章 Python 语法基础,IPython 和 Jupyter第 3 章 Python 的数据结构.函数和文件第 4 章 NumPy 基础:数组和矢量计算第 5 章 pandas 入门第 6 章 数据加载.存储与文件格式第 7 章 数据清洗和准备第 8 章 数据规整:聚合.合并和重塑第 9 章 绘图和可视化第 10 章 数据聚合与分组运算第 11 章 时间序列第 12 章 pandas 高级应用第 13 章 Python 建…
第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas.NumPy.IPython和Jupyter,并增加大量实际案例,可以帮助高效解决一系列数据分析问题. 第2版中的主要更新了Python第三方发布版Anaconda和其他所需Python包的安装指引: 更新pandas库到2017年的新版: 新增一章关于更多高级pandas工具和一些使用提示:新增statsmodels和scikit-learn的简明使用介绍. 学习参考: <利用Python进行数据分析(第二版)>高清中文…
利用Python进行数据分析-Pandas: 在Pandas库中最重要的两个数据类型,分别是Series和DataFrame.如下的内容主要围绕这两个方面展开叙述! 在进行数据分析时,我们知道有两个基础的第三方库在数据处理时显得尤为重要,即分别为NumPy库和Pandas库,前面的章节我们对于NumPy的入门有了详细的介绍,这个章节我们主要是对于Pandas库进行系统的总结.说一点题外话,之前对于学习知识的时候,基本上都是在网上看视频,但是看视频的时候,当时基本上都能够理解并且觉得很简单,也没有…
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法combine_first()方法:合并重叠数据. pandas.merge()方法:数据库风格的合并   例如,通过merge()方法将两个DataFrame合并: on='name'的意思是将name列当作键: 默认情况下,merge做的是内连接(inner),即键的交集. 其他方式还有左连接(l…
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为array[index1:index2],意思是从index1索引位置开始,到index2索引(不包括index2)位置结束的一段数组.例如: 当把一个值赋值为一个切片时,该值会作用于此数组片段里每一个元素,例如: 二维数组 二维数组的索引 当以一维数组的索引方式访问一个二维数组的时候,获取的元素不在…
pandas 对象拥有一些常用的数学和统计方法.   例如,sum() 方法,进行列小计:   sum() 方法传入 axis=1 指定为横向汇总,即行小计:   idxmax() 获取最大值对应的索引:   还有一种汇总是累计型的,cumsum(),比较它和 sum() 的区别: unique() 方法用于返回数据里的唯一值:   value_counts() 方法用于统计各值出现的频率:   isin() 方法用于判断成员资格:   安装步骤已经在首篇随笔里写过了,这里不在赘述.利用 Pyt…
一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 fill_value 参数指定填充值. 例如:   fill_value 会让所有的缺失值都填充为同一个值,如果不想这样而是用相邻的元素(左或者右)的值填充,则可以用 method 参数,可选的参数值为 ffill 和 bfill,分别为用前值填充和用后值填充: 针对 DataFrame   重新…
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构:Series 和 DataFrame. 二.Series Series 是一个一维数组对象 ,类似于 NumPy 的一维 array.它除了包含一组数据还包含一组索引,所以可以把它理解为一组带索引的数组. 将 Python 数组转换成 Series 对象: 将 Python 字典转换成 Serie…
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 二.ndarray 是什么 ndarray 是一个多维的数组对象,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点. ndarray 的一个特点是同构:即其中所有元素的类型必须相同. 三.ndarray 的创建 array() 函数 最简单的方法, 使用 NumPy 提供的…
matplotlib API入门 使用matplotlib的办法最常用的方式是pylab的ipython,pylab模式还会向ipython引入一大堆模块和函数提供一种更接近与matlab的界面,matplotlib API函数位于matplotlib.pyplot模块中,其通常的引入约定是:import matplot.pyplot as plt 1.Figure和Subplot matplotlib的图像都位于Figure对象中,你可以用plt.figure创建一个新的Figure,不能通过…
利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写磁盘数据的工具以及用于操作内存映射文件的工具? 线性代数.随机数生成以及傅里叶变换功能 用于集成C/C++等代码的工具 一.ndarry:一种多维数组对象 1.创建ndarry #一维 In [5]: data = [1,2,3] In [6]: import numpy as np In [7]:…
利用Python进行数据分析--Ipython 一.Ipython一些常用命令 1.TAB自动补全 2.变量+? 显示相关信息 3.函数名+??可以获取函数的代码 4.使用通配符* np.load? 5.%run +文件名.py 可以直接执行另外一个脚本 6._和__会保存最近的两个输出结果 7._iX和_X x为行号会输出第X行的输入和输出 二.键盘快捷键 1.CTRL+P 向前命令 2.CTRL+N 向后命令 3.CTRL+R 按行搜索历史 4.CTRL+C终止程序 5.CTRL+A光标移动…
利用Python进行数据分析--重要的Python库介绍 一.NumPy 用于数组执行元素级计算及直接对数组执行数学运算 线性代数运算.傅里叶运算.随机数的生成 用于C/C++等代码的集成 二.pandas 快速便捷的处理结构化数据,DataFrame是一个面向列的二维表数据 兼具NumPy的数组计算功能以及电子表格和关系型数据库的数据处理功能 可以快速的重塑.切片和切块以及选取数据子集 三.SciPy 主要介绍以下包: scipy.integrate 数值积分例程和微分方程求解器 scipy.…