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 布尔索引
  • 相关阅读:
    java基础英语---第二天
    树莓派的版本
    Linux系统下安装.deb文件
    在Raspberry上安装ROS
    树莓派文件权限的转换
    树莓派中Linux的相关命令
    raspberry连接ssh和vnc
    链表的建立及释放
    一些小细节问题
    关于构建二维动态内存(堆)及释放
  • 原文地址:https://www.cnblogs.com/creazylinux/p/7908766.html
Copyright © 2011-2022 走看看