zoukankan      html  css  js  c++  java
  • Python数据分析与展示(1)-数据分析之表示(1)-NumPy库入门

    Numpy库入门

    从一个数据到一组数据

    维度:一组数据的组织形式

    一维数据:由对等关系的有序或无序数据构成,采用线性方式组织。

    可用类型:对应列表、数组和集合

    不同点:

    列表:数据类型可以不同

    数组:数据类型相同

    二维数据:由多个一维数据构成,是一维数据的组合形式。

    表格是典型的二维数据

    多维数据:由一维或二维数据在新维度上扩展形成。

    高维数据:仅利用最基本的二元关系展示数据间的复杂结构。

    键值对将数据组织起来的形式

    一维数据:列表和集合类型

    二维数据:列表类型

    多维数据:列表类型

    高维数据:字典类型或数据表示格式(JSONXMLYAML)


    Numpy科学计算基础库

    *一个强大的N维数组对象 ndarray

    *广播功能函数

    *整合C/C++/Fortran代码的工具

    *线性代数、傅里叶变换、随机数生成等功能

    Numpy是Scipy、Pandas等数据处理或科学计算库的基础。

    import numpy as np

    尽管别名可以省略或更改,建议使用上述约定的别名

    Python已有列表类型,为什么需要一个数组对象(类型)?

    -数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据

    -设置专门的数组对象,经过优化,可以提升这类应用的运算速度

    观察:科学计算中,一个维度所有数据的类型往往相同

    -数组对象采用相同的数据类型,有助于节省运算和存储空间

    ndarray是一个多维数组对象,由两部分构成:

    -实际的数据

    -描述这些数据的元数据(数据维度,数据类型等)

    np.array() 输出成[ ]形式,元素由空格分隔

    轴(axis):保存数据的维度;秩(rank):轴的数量

    ndarray对象的属性

    ndarray数组的元素类型

    ndarray的元素类型(1)

    实部(.real)+ j虚部(.imag)

    非同质的ndarray对象

    ndarray数组的创建

    -从Python中的列表、元组等类型创建ndarray数组

    -使用NumPy中函数创建ndarray数组,如:arange,ones,zeros等

    -从字节流(raw bytes)中创建ndarray数组

    -从文件中读取特定格式,创建ndarray数组

    ndarray数组的创建方法

    (1)从Python中的列表、元组等类型创建ndarray数组

    x = np.array(list/tuple)

    x = np.array(list/tuple, dtype=np.float32)

    当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型

    (1)从Python中的列表、元组等类型创建ndarray数组

    (2)使用NumPy中函数创建ndarray数组,如:arange,ones,zeros等

    (3)使用NumPy中其他函数创建ndarray数组

    ndarray数组的变换

    对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换

    a = np.ones((2,3,4), dtype = np.int32)

    ndarray数组的维度变换

    ndarray数组的类型变换

    new_a = a.astype(new_type)

    astype()方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致

    ndarray数组向列表的转换

    ls = a.tolist()

    ndarray数组的操作

    数组的索引和切片

    索引:获取数组中特定位置元素的过程

    切片:获取数组元素子集的过程

    数组的索引和切片

    一维数组的索引和切片:与Python的列表类似

    多维数组的索引:

    数组的索引和切片

    多维数组的切片:

     

    数组与标量之间的运算作用于数组的每一个元素

    实例

    NumPy一元函数

    对ndarray中的数据执行元素级运算的函数

    Numpy二元函数

     本文为博主学习笔记,转载需注明来源;

    学习视频所属:中国大学MOOC 北京理工大学 嵩天老师https://www.icourse163.org/course/BIT-1001870002

  • 相关阅读:
    Python3.x和Python2.x的区别
    urllib库python2和python3具体区别
    Oracle实现自增方式:序列+触发器
    菜单
    visual studio 2013连接Oracle 11g并获取数据:(二:实现)
    Oracle连接出现TNS:no listener或者ORA-12514: TNS:listener does not currently know
    visual studio 2013连接Oracle 11g并获取数据:(一:环境搭建)
    C#编程
    Oracle 11g 安装
    Android在Eclipse上的环境配置
  • 原文地址:https://www.cnblogs.com/cpg123/p/10828797.html
Copyright © 2011-2022 走看看