数据分析-Numpy

什么是Numpy

NumPy这个词来源于两个单词-- Numerical和Python。 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组,很多的数据科学的包都是依赖于Numpy的。它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在原生Python中永远无法体验到的速度。

安装

pip install numpy

ndarray

numpy所有的操作都是围绕着数组展开的,这个数组的名字就叫做 ndarray ,在学习ndarray数组之前肯定有人会说这个东西和Python中的列表差不多啊,为什么不用列表呢,列表还要方便些。但是事实上通过ndarray不管是方便还是效率都远远地提升了。

ndarray数组创建

数组内的元素类型必须一致

数组大小不可修改

方法 描述
array() 将python的列表转换为数组,可选择显式指定dtype
arange() range的numpy版,支持浮点数
linspace() 类似arange(),第三个参数为数组长度
zeros() 根据指定形状和dtype创建全0数组
ones() 根据指定形状和dtype创建全1数组
empty() 根据指定形状和dtype创建空数组(随机值)
eye() 根据指定边长和dtype创建单位矩阵
import numpy as np

lis = [1,2,3,4,5]
np.array(lis)
array([1, 2, 3, 4, 5])

np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(0.5,10.5,1)
array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])

#取范围内的n个数,差值相同
np.linspace(1,10,10)
array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

np.zeros((2,2))
array([[0., 0.],
       [0., 0.]])

#ones和empty和zeros类似,但是empty会优先找内存中的数据,不一定是随机的

np.eye(4,4)
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])

常用属性

属性 描述
T 数组的转置(对高维数组而言)
dtype 数组元素的数据类型
size 数组元素的个数
ndim 数组的维数
shape 数组的维度大小(以元组形式)
itemsize 每个项占用的字节数
nbytes 数组中的所有数据消耗掉的字节数

数据类型

dtype

类型 描述
布尔型 bool_
整型 int_ int8 int16 int32 int 64
无符号整型 uint8 uint16 uint32 uint64
浮点型 float_ float16 float32 float64
#查看数据类型
zx = np.ones((10,10))
zx.dtype
dtype('float64')

#修改数据类型
data = zx.astype(np.int16)
data.dtype
dtype('int16')

#注意
int8占1个字节,1字节(byte)占8位(bit)

其中最高位代表符号位 1-负号;0-正号
范围为1 1 1 1 1 1 1 1到0 1 1 1 1 1 1 1
1 0 0 0 0 0 0 为-128    0 0 0 0 0 0 0 0为0,一共256个数
范围-128-127

运算

#乘数字
z1 = [1,2,3,4,5,6]
z1 = np.array(z1)
z1 * 2
array([ 2,  4,  6,  8, 10, 12])

#乘数组,注意要一样的数组才能计算
z2 = [4,4,4,2,1,8]
z1 * z2
array([ 4,  8, 12,  8,  5, 48])

#除此之外加减乘除类似

索引切片

#维度转换
data = np.ones((10))

#转2X5的二维
zx = data.reshape(2,5)
#转一维
zx.reshape(10)

切片,索引

zx=([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23],
       [24, 25, 26, 27, 28, 29]])

data = np.array(zx)
#0
data[0,0]
#8,9 14,15
data[1:3,2:4]
#3x3
data[:3,:3]
#步长2
data[::2,::2]

布尔型索引-筛选数据

#筛选大于5的数据
a[a>5]
他会把每一个数据和5比较,如果满足条件就返回数据

一元函数

函数 功能
abs、fabs 分别是计算整数和浮点数的绝对值
sqrt 计算各元素的平方根
square 计算各元素的平方
exp 计算各元素的指数e**x
log 计算自然对数
sign 计算各元素的正负号
ceil 计算各元素的ceiling值
floor 计算各元素floor值,即小于等于该值的最大整数
rint 计算各元素的值四舍五入到最接近的整数,保留dtype
modf 将数组的小数部分和整数部分以两个独立数组的形式返回,与Python的divmod方法类似
isnan 判断数组中的缺失值
isinf 表示那些元素是无穷的布尔型数组
cos,sin,tan 普通型和双曲型三角函数

二元函数

函数 功能
add 将数组中对应的元素相加
subtract 从第一个数组中减去第二个数组中的元素
multiply 数组元素相乘
divide、floor_divide 除法或向下圆整除法(舍弃余数)
power 对第一个数组中的元素A,根据第二个数组中的相应元素B计算A**B
maximum,fmax 计算最大值,fmax忽略NAN
miximum,fmix 计算最小值,fmin忽略NAN
mod 元素的求模计算(除法的余数)

数学统计

函数 功能
sum 求和
cumsum 求前缀和
mean 求平均数
std 求标准差
var 求方差
min 求最小值
max 求最大值
argmin 求最小值索引
argmax 求最大值索引

随机数

函数 功能
rand 返回给定维度的随机数组(0到1之间的数)
randn 返回给定维度的随机数组
randint 返回给定区间的随机整数
choice 给定的一维数组中随机选择
shuffle 原列表上将元素打乱(与random.shuffle相同)
uniform 给定形状产生随机数组
seed 设定随机种子(使相同参数生成的随机数相同)
standard_normal 生成正态分布的随机样本数

参考链接

https://www.cnblogs.com/xiaoyuanqujing/articles/11647031.html

原文地址:https://www.cnblogs.com/zx125/p/12198288.html

时间: 2024-10-08 15:57:59

数据分析-Numpy的相关文章

数据分析(Numpy基础)

数据分析(Numpy基础) 1.什么是数据分析? 数据分析是指,用适当的统计分析方法,对收集来的大量数据进行分析,提取有用信息并形成结论,从而实现对数据的详细研究和概括总结的过程. 2.python做数据分析的常用库 1. numpy 基础数值算法 2. scipy 科学计算 3. matplotlib 数据可视化 4. pandas 序列高级函数 一.numpy概述 1.什么是numpy? 1. Numerical Python,数字的Python,弥补了Python语言所欠缺的数值计算能力.

python数据分析Numpy(二)

Numpy (Numerical Python) 高性能科学计算和数据分析的基础包: ndarray,多维数组(矩阵),具有矢量运算能力,快速.节省空间: 矩阵运算,无需循环,可以完成类似Matlab中的矢量运算: 线性代数.随机送生成: ndarray ,N维数组对象(矩阵) 所有元素必须是相同类型 ndim属性,维度个数 shape属性,各维度大小 dtype属性,数据类型 代码示例: import numpy # 生成指定维度的随机多维数据(两行三列) data = numpy.rando

Python数据分析-Numpy数值计算

Numpy介绍: NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能: 1)ndarray,一个多维数组结构,高效且节省空间 2)无需循环对整组数据进行快速运算的数学函数 3)读写磁盘数据的工具以及用于操作内存映射文件的工具 4)线性代数.随机数生成和傅里叶变换功能 5)用于集成C.C++等代码的工具 pyhton里面安装.引入方式: 安装方法:pip install numpy 引用方式:import numpy as np 创建数组:

python 数据分析 Numpy(Numerical Python Basic)

# 导入numpy 模块 1 import numpy as np 10 a = np.random.random((2,4)) 11 a 12 Out[5]: 13 array([[0.20974732, 0.73822026, 0.82760722, 0.050551 ], 14 [0.77337155, 0.06521922, 0.55524187, 0.59209907]]) # 求矩阵所有数据的和,最小值,最大值 22 np.sum(a) 23 Out[7]: 3.8120575132

python数据分析NumPy入门

numpy库入门 维度:一组数据的组织形式 一维数据:由对等关系的有序或无序数列构成,采用线性方式组织 (列表,集合) (数组) 列表和数组 都是一组数据的有序结构 不同点 列表:数据类型可以不同 数组:数据类型相同 二维数据:由多个一维数据构成,是一维数据的组合形式 (表格)(列表) 多维数据:由一维或二维数据在新维度上扩展形成(多维列表) 高维数据仅利用最基本的二元关系展示数据间的复杂结构 (字典) Numpy Numpy 是一个开源的python科学计算基础库 一个强大的N维数组对象 nd

数据分析-Numpy练习题

参看网站: https://github.com/rougier/numpy-100/blob/master/100_Numpy_exercises.md https://github.com/Kyubyong/numpy_exercises https://www.jianshu.com/p/51c205d7b07b 1. Numpy 2. Numpy 100 原文地址:https://www.cnblogs.com/Jacon-hunt/p/11351142.html

Python数据分析-Numpy

Numpy特点 Numpy作为使用Python进行科学计算的常用库,有着如下特点: 提供了N维数组(矩阵),快速高效,矢量数学运算: 高效的Index,不需要循环,因为底层实现采用了C语言开发. 常见的数组和矩阵的方法 数组和矩阵的创建与维度信息 numpy.array() ## 数组的创建 vector = numpy.array([1,2,3,4]) ## 矩阵的创建 matrix = numpy.array([ [1,2,3], [4,5,6], [7,8,9] ]) shape ## 打

python数据分析numpy库学习

import numpy as np def asum(a_list,b_list,n1=2,n2=3): a = np.array(a_list) b = np.array(b_list) c = pow(a,n1) + pow(b,n2) return c a_lst = [1,2,3,4] b_lst = [2,3,4,5] print(asum(a_lst,b_lst)) #np.array()生成数据对象ndarray a = np.array([[1,2,3,4],[1,2,3,4]

使用Python进行描述性统计【解决了实习初期的燃眉之急】

目录 1 描述性统计是什么?2 使用NumPy和SciPy进行数值分析 2.1 基本概念 2.2 中心位置(均值.中位数.众数) 2.3 发散程度(极差,方差.标准差.变异系数) 2.4 偏差程度(z-分数) 2.5 相关程度(协方差,相关系数) 2.6 回顾3 使用Matplotlib进行图分析 3.1 基本概念 3.2 频数分析 3.2.1 定性分析(柱状图.饼形图) 3.2.2 定量分析(直方图.累积曲线) 3.3 关系分析(散点图) 3.4 探索分析(箱形图) 3.5 回顾4 总结5 参