zoukankan      html  css  js  c++  java
  • (1)pandas 基础教程

    步骤1、环境准备

    右击桌面上选择【Open in Terminal】 打开终端。
    在弹出的终端中输入【ipython】进入Python的解释器中,如图1所示。

    图1 ipython解释器

    步骤2、导入所需要的包

    导入实验常用的python包。如图2所示。
    【import pandas as pd】pandas用来做数据处理。
    【import numpy as np】numpy用来做高维度矩阵运算.
    【import matplotlib.pyplot as plt】matplotlib用来做数据可视化。

    图2 导入所需要的包

    步骤3、创建对象

    通过传递一个list对象来创建一个Series,pandas会默认创建整型索引,如图3所示。
    【s = pd.Series([1,3,5,np.nan,6,8]】将一个list传入到Series对象
    【s】查看s的值

    图3 创建Series对象


    通过传递一个 numpy array,时间索引以及列标签来创建一个 DataFrame,如图4所示。
    【datas = pd.date_range(‘20170101’, periods=6)】生成20170101-20170106 六天的日期
    【datas】查看生成的数据
    【df = pd.DataFrame(np.random.randn(6,4), index=datas, columns=list(‘ABCD’))】以时间为索引以及ABCD为列标签创建一个DataFrame对象
    【df】查看生成的DataFrame对象

    图4 创建DataFrame对象


    通过传递一个能够被转换成类似序列结构的字典对象来创建一个DataFrame。如图5所示:

    df2 = pd.DataFrame({ ‘A’ : 1.,
    ‘B’ : pd.Timestamp(‘20170101’),
    ‘C’ : pd.Series(1,index=list(range(4)),dtype=’float32’),
    ‘D’ : np.array([3] * 4,dtype=’int32’),
    ‘E’ : pd.Categorical([“test”,”train”,”test”,”train”]),
    ‘F’ : ‘foo’ })
    】生成一个字典对象,并传递生成一个DataFrame
    【df2】查看生成的DataFrame
    【df2.dtype】查看不同列的数据类型

    图5 传递字典生成DataFrame对象

    步骤4、查看数据

    查看 DataFrame 中头部和尾部的行,如图6所示。
    【df.head()】查看dataFrame的前五行
    【df.tail(3)】查看dataFrame的后三行

    图6 查看数据1


    查看df的索引,列名称和底层的numpy数据,如图7所示。
    【df.index】查看dataFrame的索引。
    【df.columns】查看dataFrame的列名称
    【df.values】查看dataFrame底层的数据

    图7 查看数据2


    describe()函数对于数据的快速统计汇总,如图8所示
    【df.describe()】对数据进行快速汇总

    图8 对数据汇总


    对数据的转置,如图9所示。
    【df.T】

    图9 对数据的转置


    对数据的排序,如图10所示。
    【df.sort_index(axis=1, ascending=False)】按轴进行排序
    【df.sort_values(by=’B’)】按值进行排序

    图10 对数据的排序

    步骤5、数据的选择

    对数据的获取,如图11所示。
    【df[‘A’]】选择一个单独的列,返回一个Series
    【df[0:3]】切片显示
    【df[‘20170101’:’20170103’]】指定日期切片

    图11 对数据的获取


    通过标签选择,如图12所示。
    【df.loc[datas[0]]】使用标签来获取一个交叉的区域
    【df.loc[‘20170102’,[‘A’,’B’]]】对于返回对象进行维度缩减
    【df.loc[‘20170101’:’20170103’,[‘A’,’B’]]】标签切片
    【df.loc[‘20170102’,[‘A’,’B’]]】对于返回对象进行维度缩减
    【df.loc[dates[0],’A’]】获取一个标量

    图12 通过标签选择


    通过位置选择,如图13所示
    【df.iloc[3]】通过传递数值进行位置选择(选择的是行)
    【df.iloc[3:5,0:2]】通过数值进行切片选择
    【df.iloc[[1,2,4],[0,2]]】通过指定一个位置的列表选择
    【df.iloc[1:3,:]】对行进行切片
    【df.iloc[:,1:3]】对列进行切片
    【df.iloc[1,1]】获取特定的值

    图13 通过位置选择

    步骤6、布尔索引

    布尔索引,如图14所示。
    【df[df.A > 0]】使用一个单独列的值来选择数据
    【df[df > 0]】通过where操作选取数据
    【df2 = df.copy()】
    【df2[‘E’] = [‘one’, ‘one’,’two’,’three’,’four’,’three’]】
    【df2】
    【df2[df2[‘E’].isin([‘two’,’four’])]】使用 isin() 方法来过滤

    图14 布尔索引
  • 相关阅读:
    HDU 6182 A Math Problem 水题
    HDU 6186 CS Course 位运算 思维
    HDU 6188 Duizi and Shunzi 贪心 思维
    HDU 2824 The Euler function 欧拉函数
    HDU 3037 Saving Beans 多重集合的结合 lucas定理
    HDU 3923 Invoker Polya定理
    FZU 2282 Wand 组合数学 错排公式
    HDU 1452 Happy 2004 数论
    HDU 5778 abs 数论
    欧拉回路【判断连通+度数为偶】
  • 原文地址:https://www.cnblogs.com/creazylinux/p/7908766.html
Copyright © 2011-2022 走看看