• python 数据分析


    IPython

    变量名? 函数名?获取相关帮助

    %run [文件名].py 执行py文件

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

    列表和数组:

    一组数据的有序结构

    区别:

    列表:数据类型可以不同

    数组:数据类型相同

    一维数据:列表(有序)、集合(无序)

    二(多)维数据:多维列表

    高维数据:字典类型、数据表示格式JSON、XML

    NumPy科学计算基础库

    N维数组对象ndarray

    广播功能函数

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

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

    import numpy as np

    为什么需要数组类型?

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

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

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

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

    1.实际的数据

    2.描述这些数据的元数据(数据维度、数据类型)

    ndarray要求数据元素类型相同,数组下标从0开始

    np.array()#生成一个ndarray数组

    轴(axis):保存数据的维度

    秩(rank):轴的数量

    属性:

    .ndim #秩(轴的数量)
    .shape #ndarray对象的尺度,n行m列
    .size #ndarray对象元素个数 n*m
    .dtype #ndarray元素类型
    .itemsize #ndarray中每个元素的大小
    ndarry 元素类型
    bool  intc intp int8 int16 int32 int64
    uint8 uint16 uint32 uint64
    float16 float32 float64
    complex64(实部虚部都是float32) complex128

    python语法仅支持整数、浮点数、复数3种类型

    科学计算涉及数据较多,对存储和性能都有较高要求

    对元素类型精细定义,有助于NumPy合理使用存储空间并优化性能

    对元素进行精确定义,有助于程序员对程序规模有合理评估

    ndarray也可以由非同质对象构成,默认元素为对象类型

    ndarray数组创建方法:

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

    X = np.array(list/tuple)

    X = np.array(list/tuple,dtype =np.float32)指定数据类型

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

    np.arange(n) 元素从 0到 n-1 整数类型

    np.ones(shape) 根据shape生成一个全一数组 shape是元组类型

    np.full(shape,val) 每个元素都是val

    np.eye(n) n*n单位矩阵

    np.ones_like(a) 生成跟a形状相同的全一数组

    np.zeros_like(a)

    np.full_like(a,val)

    np.linspace(a,b,n) 根据起止数据a,b等距地生成n个数据,形成数组

    np.linspace(1,10,4)  1,4,7,10

    endpoint 代表结尾数据是否作为最后一个元素出现

    np.concatenate() 将两个或多个数组合并成一个新的数组

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

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

    维度变化:

    .reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变

    .resize(shape) 与reshape一致,修改原数组

    .swapaxes(ax1,ax2)将数组n个维度中的两个维度进行调换

    .flatten() 对数组进行降维,多维变为一维,原数组不变

    ndarray数组类型变换:

    new_a =a.astype(new_type) 一定会创建新数组

    ndarray数组转为list

    a.tolist()

    操作:

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

    切片:获取数组中元素子集

    一维数组:

    索引:同列表

    切片:a[起始编号:终止编号(不含):步长]

    多维数组:

    索引:a[x,y,z,...]

    切片:a[:,1:3,:]

    运算:

    数组与标量进行运算

    a.mean()获得平均值

    np.abs(x) np.fabs(x)

    np.sqrt(x)

    np.square(x) 平方

    np.log(x) np.log10(x) np.log2(x)

    np.ceil(x) np.floor(x)

    np.rint(x)计算数组各元素四舍五入的值

    np.modf(x) 将数组各元素的小数与整数以两个独立数组的形式返回

    np.cos(x) np.cosh(x)

    np.sin(x) np.sinh(x)

    np.tan(x) np.tanh(x)

     np.exp(x)

    np.sign(x)

    二元函数:

    + - * / ** 两个数组各元素进行对应运算

    np.maximum(x,y) np.fmax()

    np.minimum(x,y)  np.fmin() 元素级最大值,最小值计算

    np.mod(x,y) 元素级模运算

    np.copysign(x,y)将数组y中各元素值的符号赋值给数组x对应元素

    >< >= <= == != 算术比较,产生布尔数组

  • 相关阅读:
    MySQL中去重字段完全相同的数据
    SVN自动更新-win平台
    EF出错:Unable to convert MySQL date/time value to System.DateTime
    微信不支持Object.assign
    记录一下dotnetcore.1.0.0-VS2015Tools.preview2安装不上的问题
    Ajax表单异步上传(包括文件域)
    .NET web开发之WebApi初试水
    遍历数组一次求得数组的平均数、标准差、方差
    记STM32F030多通道ADC DMA读取乱序问题
    RT-Thread入门和模拟器的配置生成
  • 原文地址:https://www.cnblogs.com/liulex/p/11844527.html
Copyright © 2020-2023  润新知