Pandas 学习记录

最好还能能了解是要如何进行统计,Pandas 只是一个非常方便交互的工具,而且能通过代码的方式来进行分析统计,相比较于Excel,能更好的进行编程, 通过看官方的Quick Start 可以快速掌握这种运算方式

基本数据结构

From the offical document,the basic data structure is very similar to the ones of numpy, including Series( a list like the columns in the table), DataFrame( 2D table), Panel(3D table)

Quick Start

  • Use pip to install the pandas: sudo pip install pandas
  • Read data from out side data files, excel is always recommended, for a file could contain all the related data in multi sheets, e.g. pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

  • Select data, by rows, columns, and indices, e.g.
    df[0], df[0:3] to select rows;
    t.loc[:,'newAmount'], t.loc[:,['newAmount','oldAmount']] to select columns;
    t.loc[0:5:,['newAmount','oldAmount']] to select rows and columns;
    t2[t2.newAmount >500] to select the rows that only satisfied the specific boolean functions

  • Operations, we can operate all the objects l1 or l2, like the numpy arrrays, l2+l1, l2-l1

  • Describe the data frame work, e.g. df is DataFrame and when we call df.describe(), we can have an overview on its data status

    count       5.00000
    mean     1001.00000
    std      1028.59127
    min       141.00000
    25%       341.00000
    50%       841.00000
    75%       941.00000
    max      2741.00000
    Name: newAmount, dtype: float64
  • Histogramming, which means value count and is pretty hard to understand, because it won’t directly operated on the real data, the DataFrame should be converted to another Series object and call the value_counts functions.
  • Apply
    这里用中文描述一下,对于每一行或者每一列进行处理,这个需要说一下,刚开始没理解,也是需要看源码才懂得

        df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D'])
        #apply 函数中 默认是用 axis=0,表示对列进行操作
        a_row = df.apply(lambda x: x.max() - x.min())
        #返回的是 4*8的一个矩阵
        a_df = df.apply(lambda x: x+1)
    

    为什么返回 a_row 因为,x对应的是一列,对于这一列的操作最后返回的是一个数值,每一列都是如此,自然返回的就是一行了,而 a_df 的一列处理完成之后仍然是一列,所以处理完成之后仍然是一个 4*8 的矩阵

  • Group,非常非常屌炸天的函数,MySQL Group版本的完美升级版本,帮助我重新理解了Group。

    • Split,我们需要按照列来切分数据,因为切割点是在行上而不是在列上。而这个切分的标准实际上是一个函数,传统的Group By 实际上是一个内嵌的函数,传入的参数是整个一行的内容,如果这一行的内容符合函数,则分为一拨,范例
    • Applying,这个和上一部分的Apply 一样,数据已经被切分为一部分一部分的数据,我们要在这个的基础上进行操作,传入函数对数据进行操作,典型的操作分为 Aggregation, Transformation, Filtration, 可以单独使用也可以混合使用。
    • Combining,这个倒是没什么说的,就是将结果进行最终的展示

Advanced Techs

Pivot Tables

It’s hard to understand pivot tables, according to the wiki, there is a good example to organize all the data.

Pandas 学习记录》上有5条评论

  1. b2b??????

      “在抵押时,银行首先要对资产进行估值,而对艺术品估值要求有法律否认的鉴定系统和身份证明材料作为保障,目前国内的艺术市场基&#264

    回复
  2. b2b??????

      第6张保单:儿童综合险——HI,新性命,尽所有去爱你   假如说对应时代的那些保单,你感到保费太贵,本人不才能累赘的话,我的建议&#

    回复
  3. b2b??????

    2016-5-14 09:48 上传 昨天装置了 PHP5.4 5.3    以前是5.2   当初也有5,b2b免费商务平台.3 5.2 5.4 我用的5.4 5.3都不行 QQ截图20160514094612.png (97.8 KB, 下载次数: 0) 本帖最后由 pyj88 于 2016-5-14 12:11 编纂 头像相对&#223

    回复
  4. ???

    –> 车系: 选择车系 * 地区: 选择地域 * 摘要:在骗车险的实际操作中,制造车辆相撞事故、虚增车损结果是主要造假手段,主要包括四种情况。  &

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注