zoukankan      html  css  js  c++  java
  • 利用Python进行数据分析

    最近在阅读《利用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”,可以看到这个界面准备工作已经就绪了。

    image

    Pandas

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

    • Series

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

    image

    • 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来构建输入数据:

    image

  • 相关阅读:
    AVR开发 Arduino方法(六) 内存子系统
    AVR开发 Arduino方法(五) 模数转换子系统
    AVR开发 Arduino方法(四) 串行通信子系统
    AVR开发 Arduino方法(三) 定时/计数器子系统
    AVR开发 Arduino方法(二) 中断子系统
    2014.5.17—所谓生活,就是让自己变得更好
    2014.5.10—做事分清时间地点
    2014.5.7—社交网络用户心理分析
    2014.5.7—20岁这几年
    2014.5.5—反向绑定域名,无需工信部备案
  • 原文地址:https://www.cnblogs.com/kendrick/p/5751792.html
Copyright © 2011-2022 走看看