【Python数组及其基础操作】【numpy ndarray】
一、创建数组
在python中创建数组最简单的办法就是使用array函数。它接受一切序列型的对象,然后产生一个含有传入数据的numpy数组。其中,嵌套序列(比如由一组等长列表组成的列表)会被转换为一个多维数组。
1、array函数:
numpy.array(object, dtype = None, copy = True, order = None, subok = False ,ndmin = 0)
- object 数组或嵌套的数列
- dtype 数组元素的数据类型,可选
- copy 对象是否需要复制,可选
- order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
- subok 默认返回一个与基类类型一致的数组
- ndmin 指定生成数组的最小维度
#将列表转换为数组
import numpy as np
a = [1, 2, 3, 4] #创建列表
b = np.array(a) #将列表转换为数组
#这样就创建完成了一个一维数组 b[1,2,3,4]
#直接创建一维数组
import numpy as np
a = np.array([1, 2, 3, 4])
#创建二维数组
import numpy as np
b = np.arry([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] )
2、zeros和ones分别可以创建指定长度、形状的全0或全1数组
improt numpy as np
np.zeros(3) #输出结果为[0., 0., 0.] np.ones(3) #输出结果为[1., 1., 1.] np.zeros(3,3)
'''输出结果为[[0., 0., 0.]
[0., 0., 0.]
[0., 0., 0.]] '''
3、创建随机数组
improt numpy as np
np.random.rand(10, 10) #创建指定形状的数组(范围在0,1之间)
np.random.uniform(0,100) #创建指定范围内的一个数
np.random.randint(0, 100) #创建指定范围内的一个整数
np.random.normal(1.7, 0.1, (2, 3)0 #给定均值/标准差/维度的正态分布
4、arange函数:
np.arange(start, stop, step, dtype = None)
根据start(默认为0)和stop指定的范围以及step(默认为1)生成一个数组
import numpy as np
a = np.arange(0, 10, 1)
b = np.arange(10)
a与b相同为array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
5、数组属性
- b.size 数组元素个数
- b.shape 数组形状
- b.ndim 数组维度
- b.dtype 数组元素类型
- b.ltemsize 数组元素字节大小
6、数组索引和切片
import numpy as np
#先定义一个一维数组[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a = np.arange(10)
>>>a[5]
5
>>>a[2:5]
array([2, 3, 4])
7、基本数组统计方法
可以通过数组上的一组数学函数对整个数组或某个轴向的数据进行统计计算
- sum 对数组中全部或某轴向的元素求和。零长度数组的sum为0
- mean 算数平均数。零长度数组的mean为NaN
- std,var 分别为标准差和方差,自由度可调(默认为n)
- max,min 最大值和最小值
- argmin, argmax 最大和最小元素的索引
- cumsum 所有元素的累加
- cumprod 所有元素的累积
【Python数组及其基础操作】【numpy ndarray】的更多相关文章
- Python科学计算基础包-Numpy
一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...
- 【Learning Python】【第二章】Python基础类型和基础操作
基础类型: 整型: py 3.0解决了整数溢出的问题,意味着整型不必考虑32位,64位,有无符号等问题,你写一个1亿亿亿,就是1亿亿亿,不会溢出 a = 10 ** 240 print(a) 执行以上 ...
- 【Python矩阵及其基础操作】【numpy matrix】
一.矩阵生成 1.numpy.matrix: import numpy as np x = np.matrix([ [1, 2, 3],[4, 5, 6] ]) y = np.matrix( [1, ...
- Python的数据基础库Numpy怎样对数组进行排序
Numpy怎样对数组排序 Numpy给数组排序的三个方法: numpy.sort:返回排序后数组的拷贝 array.sort:原地排序数组而不是返回拷贝 numpy.argsort:间接排序,返回的是 ...
- python文件的基础操作
import os print(,'-')) print(os.getcwd()) print(,'-')) print(os.listdir()) print(,'-')) print(os.lis ...
- Swift - 18 - 数组的基础操作
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...
- (转)Iphone数组一些基础操作 NSArray/NSMutableArray
/******************************************************************************************* NSArray ...
- Python——控件基础操作
一.生成主窗口(主窗口操作) window=tkinter.Tk() #修改框体的名字,也可在创建时使用className参数来命名: window.title('标题名') #框体大小可调性,分别表 ...
- python Opencv图像基础操作
读取并显示图像 如果读取图像首先要导入OpenCV包,方法为: import cv2 读取并显示图像 img = cv2.imread("C:\test1.jpg") OpenCV ...
随机推荐
- 探索 Python + HyperLPR 进行车牌识别
概要 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...
- linux的数据盘挂载
图文教程: Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作. 一:登陆 用Linux 的SSH 登陆软件(xshell 或者putty) 登陆阿里云主机服务器. 二 ...
- JS 上传图片压缩,原比例压缩
复制 粘贴 改吧改吧就可用,原生js var fileObj = file.file;//原文件 file是我用vue-vant里的组件,里边有file(原文件)和content(base64) 其它 ...
- pytoch 安装
注意替换清华源,否则直接安装速度会很慢. conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud ...
- cmake 环境安装与使用
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的 ...
- jxl读取设置过数据有效性的xls文件报错
//在用jxl读入excel时,一直报如下错误: Warning: Cannot read drop down range Unrecognized token 43 Exception in thr ...
- 详解python的字符编码问题
一:什么是编码 将明文转换为计算机可以识别的编码文本称为“编码”.反之从计算机可识别的编码文本转回为明文为“解码”. 那么什么是明文呢,首先我们从一段信息说起,消息以人们可以理解,易懂的表示存在,我们 ...
- python记录点
python记录点 文件编码 Unicode使用最少2个字节(1个字节=1BYTE=8bit=一个长度为8的二进制数) 来表示字母和符号等,有时候是4个字节. UTF-8是对Unicode编码的压缩和 ...
- JavaScript - String对象,字符串,String包装类型
1. 字符串 1.1 字符串的不可变性 var str = 'abc'; str = 'hello'; // 当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中 // 重新给字符串赋值, ...
- win8.1 virtualbox 安装centos7注意事项
win8.1是64位的,一开始在virtualbox中选择版本时,怎么也选不到64位的,这时要改BIOS设置,把CPU虚拟化改为允许. virtualbox是32位的,没必要非得是64位(64位的也不 ...