最近在阅读《利用Python进行数据分析》,本篇博文作为读书笔记 ,记录一下阅读书签和实践心得。

准备工作

python环境配置好了,可以参见我之前的博文《基于Python的数据分析(1):配置安装环境》。还需要安装第三方包包括NumPy、pandas、matplotlib、IPython、SciPy。用pip安装工具下载自动安装即可,如果有网络问题,请在自行百度”host google“更新host文件。

接下来是配置IPython,初步感受了这个与之前接触的IDE完全不一样的编程方式,感觉很不错,推荐给大家。

安装主要需要安装IPython和IPython notebook两个第三方包,通过pip install 一下就好了。

安装成功后,启动IPython服务器(?我感觉应该是后台自动开了一个服务器),命令是IPython notebook。

上述步骤都搞定后,在浏览器上输入“http://localhost:8888/tree”,可以看到这个界面准备工作已经就绪了。

Pandas

书本上手用了一个时区的数据对于Pandas的DataFrame和Series两个对象进行简单的操作。我不是很喜欢这种直接上实例教学的方法,所以先在网上找了一些Pandas库的基本对象和常用函数。

  • Series

Series是一个一维数组对象,与list数据结构相近,Series中每个条目都会被分配一个标签索引。默认情况下,每个条目都会收到一个从0到N之间的索引标签,其中N等于Series的长度减一。Series可以从list或者dict初始化,可以多种取值方式,非常有意思:

  • DataFrame

DataFrame是一种由列向量和行向量组成的数据结构,它类似于电子数据表、数据库表格,也可以认为DataFrame是有多个共享索引值的Series对象构成。

对于DataFrame,可以从python的dict中转化得到,也可以从csv或者数据库中获得。通过help(Pandas.DataFrame)可以获得信息:

class DataFrame(pandas.core.generic.NDFrame)
| Two-dimensional size-mutable, potentially heterogeneous tabular data
| structure with labeled axes (rows and columns). Arithmetic operations
| align on both row and column labels. Can be thought of as a dict-like
| container for Series objects. The primary pandas data structure
|
| Parameters
| ----------
| data : numpy ndarray (structured or homogeneous), dict, or DataFrame
| Dict can contain Series, arrays, constants, or list-like objects
| index : Index or array-like
| Index to use for resulting frame. Will default to np.arange(n) if
| no indexing information part of input data and no index provided
| columns : Index or array-like
| Column labels to use for resulting frame. Will default to
| np.arange(n) if no column labels are provided
| dtype : dtype, default None
| Data type to force, otherwise infer
| copy : boolean, default False
| Copy data from inputs. Only affects DataFrame / 2d ndarray input
|
| Examples
| --------
| >>> d = {'col1': ts1, 'col2': ts2}
| >>> df = DataFrame(data=d, index=index)
| >>> df2 = DataFrame(np.random.randn(10, 5))
| >>> df3 = DataFrame(np.random.randn(10, 5),
| ... columns=['a', 'b', 'c', 'd', 'e'])
|
| See also
| --------
| DataFrame.from_records : constructor from tuples, also record arrays
| DataFrame.from_dict : from dicts of Series, arrays, or dicts
| DataFrame.from_csv : from CSV files
| DataFrame.from_items : from sequence of (key, value) pairs
| pandas.read_csv, pandas.read_table, pandas.read_clipboard

基本上可以对如何构建DataFrame对象有一个基本的概念,如果不从外部数据(csv、数据库)中导入文件的话,可以通过字典或者numpy来构建输入数据:

利用Python进行数据分析的更多相关文章

  1. 利用Python进行数据分析(12) pandas基础: 数据合并

    pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...

  2. 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片

    概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...

  3. 利用Python进行数据分析(9) pandas基础: 汇总统计和计算

    pandas 对象拥有一些常用的数学和统计方法.   例如,sum() 方法,进行列小计:   sum() 方法传入 axis=1 指定为横向汇总,即行小计:   idxmax() 获取最大值对应的索 ...

  4. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  5. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  6. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  7. 《利用python进行数据分析》读书笔记 --第一、二章 准备与例子

    http://www.cnblogs.com/batteryhp/p/4868348.html 第一章 准备工作 今天开始码这本书--<利用python进行数据分析>.R和python都得 ...

  8. 利用python进行数据分析之绘图和可视化

    matplotlib API入门 使用matplotlib的办法最常用的方式是pylab的ipython,pylab模式还会向ipython引入一大堆模块和函数提供一种更接近与matlab的界面,ma ...

  9. 利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  10. 利用Python进行数据分析——Ipython

    利用Python进行数据分析--Ipython 一.Ipython一些常用命令 1.TAB自动补全 2.变量+? 显示相关信息 3.函数名+??可以获取函数的代码 4.使用通配符* np.load? ...

随机推荐

  1. Weblogic10 集群配置

     1.预备知识 什么是Domain和Server Domain Domain是WebLogic Server实例的基本管理单元.所谓Domain就是,由配置为Administrator Serve ...

  2. SimpleDateFormat用法大全及易错分析

    SimpleDateFormat 使用java语言处理日期相关操作,就不可避免的会使用到SimpleDateFormat.当然了,目前我们采用较多的是Calendar类,通过对之求相关的属性值即可得到 ...

  3. listview优化(中)

    1,对Imageview使用setTag()方法来解决图片错位问题,这个Tag中设置的是图片的url,然后在加载的时候取得这个url和要加载那position中的url对比,如果不相同就加载,相同就是 ...

  4. ABB机器人基础培训资料整理与总结

    之前对机械臂了解较少,这方面知识比较匮乏.只使用过PowercCube六自由度机械臂. 感谢ABB公司何老师的耐心指导. 学习资料汇总:(最重要的ABB Robot 官网就不列出了,这里以中文资料为主 ...

  5. 9.5、Libgdx加速度计

    (官网:www.libgdx.cn) 加速度计可以让设备通过三个坐标轴检测加速度.通过加速度可以检测设备的方向. 加速度的单位是米每秒的平方.如果一个坐标轴指向地心,加速度大概是-10米每秒的平方.如 ...

  6. javascript语法之String对象

    学习String类就是学习它的一些方法,主要用到方法全部罗列出来.如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition ...

  7. vim的颜色修改,高亮设置。

    在vim.org 搜一下,下载一个color scheme, 放到~/.vim/colors/下(linux)或者$HOME/.vim/colors/下(windows) 再在你的.vimrc文件中加 ...

  8. 【一天一道LeetCode】#19. Remove Nth Node From End of List

    一天一道LeetCode系列 (一)题目 Given a linked list, remove the nth node from the end of list and return its he ...

  9. Android万能的指示器

    说到 ViewPager 指示器,想必大家都不陌生,绝大部分应用中都有这个.使用频率非常之高.但系统对它的支持并不好,自带的 PagerTabStrip 和 PagerTitleStrip 太弱,很难 ...

  10. Linux下MySQL备份以及crontab定时备份

    1. 备份某个数据库 ################################################################## # 备份某个数据库 ############ ...