zoukankan      html  css  js  c++  java
  • python中pandas常用方法

    # coding:utf-8
    import numpy as np
    import pandas as pd
    datas = pd.date_range('20140729', periods=6)
    # 先创建一个时间索引,所谓的索引(index)就是每一行数据的id,可以标识每一行的唯一值
    print datas

    DatetimeIndex(['2014-07-29', '2014-07-30', '2014-07-31', '2014-08-01',
    '2014-08-02', '2014-08-03'],
    dtype='datetime64[ns]', freq='D')


    # 为了快速入门,我们看一下如何创建一个6X4的数据:randn函数用于创建随机数,参数表示行数和列数,dates是上一步创建的索引列
    df = pd.DataFrame(np.random.randn(6, 4), index=datas, columns=list('ABCD'))
    print df

                               A            B                C           D
    2014-07-29 0.345746 -0.876197 0.032886 0.986082
    2014-07-30 1.922237 0.319706 0.021631 -1.236869
    2014-07-31 0.011980 0.376963 -0.149351 -0.172322
    2014-08-01 0.909287 2.186534 0.030290 -1.576527
    2014-08-02 0.555227 1.123179 -1.687594 -0.957927
    2014-08-03 0.232108 1.410862 -0.157567 -0.915288


    # 我们还可以使用字典来创建数据框,例如创建一个列名为A的数据框,索引是自动创建的整数
    df2 = pd.DataFrame({'A': np.random.randn(6), })
    print df2

              A
    0 0.303553
    1 -0.877653
    2 0.239478
    3 -0.179406
    4 0.766085


    # 这又是一个字典创建DataFrame的例子
    df2 = pd.DataFrame({'A': pd.Timestamp('20140729'), 'B': pd.Series(1), })
    print df2

                A        B
    0 2014-07-29 1


    # 假如字典内的数据长度不同,以最长的数据为准,比如B列有4行:
    df2 = pd.DataFrame({'A': pd.Timestamp('20140729'), 'B': pd.Series(1, index=list(range(4))), })
    print df2

                A       B
    0 2014-07-29 1
    1 2014-07-29 1
    2 2014-07-29 1
    3 2014-07-29 1


    # 可以使用dtypes来查看各行的数据格式
    print df2.dtypes

    A datetime64[ns]
    B int64
    dtype: object

    # 接着看一下如何查看数据框中的数据,看一下所有的数据
    print df

                              A            B                C           D
    2014-07-29 0.345746 -0.876197 0.032886 0.986082
    2014-07-30 1.922237 0.319706 0.021631 -1.236869
    2014-07-31 0.011980 0.376963 -0.149351 -0.172322
    2014-08-01 0.909287 2.186534 0.030290 -1.576527
    2014-08-02 0.555227 1.123179 -1.687594 -0.957927
    2014-08-03 0.232108 1.410862 -0.157567 -0.915288

    # 使用head查看前几行数据(默认是前5行),不过你可以指定前几行
    print df.head()
    # 查看前三行数据
    print df.head(3)
    # 使用tail查看后2行数据
    print df.tail(2)
    # 查看数据框的索引
    print df.index
    # 查看列名用columns
    print df.columns

    Index([u'A', u'B', u'C', u'D'], dtype='object')


    # 查看数据值,用values
    print df.values


    # 查看描述性统计,用describe
    print df.describe()

                    A              B              C            D
    count 6.000000 6.000000 6.000000 6.000000
    mean 0.662764 0.756841 -0.318284 -0.645475
    std 0.688200 1.059073 0.676719 0.924433
    min 0.011980 -0.876197 -1.687594 -1.576527
    25% 0.260518 0.334020 -0.155513 -1.167134
    50% 0.450486 0.750071 -0.063860 -0.936608
    75% 0.820772 1.338941 0.028125 -0.358063
    max 1.922237 2.186534 0.032886 0.986082


    # 使用type看一下输出的描述性统计是什么样的数据类型——DataFrame数据
    print type(df.describe())
    # 使用T来转置数据,也就是行列转换
    print df.T
    # 对数据进行排序,用到了sort,参数可以指定根据哪一列数据进行排序。
    print df.sort(columns='C')

  • 相关阅读:
    [翻译]AxureBasic Interactions原型设计工具Axure学习第1.3节
    [翻译]AxurePage Properties原型设计工具Axure学习第1.2节
    更新数据库表的某一字段为限制范围的随机数
    silverlight带水印的自定义TextBox控件(版本2)
    silverlight带水印的TextBox
    [翻译]AxureMasters原型设计工具Axure学习第2.2节
    [翻译]AxureBuild Wireframes原型设计工具Axure学习第1.1节
    [翻译]Windows Phone(Silverlight) 控件数据绑定
    [翻译]AxureDynamic Panel(Basic)原型设计工具Axure学习第2.1节
    假如你是新浪微博移动方向的产品经理
  • 原文地址:https://www.cnblogs.com/dshn/p/7815148.html
Copyright © 2011-2022 走看看