【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 ...
随机推荐
- CSS3绘制不规则图形,代码收集
三角形系列(三角形.倒三角.左三角.右三角.左上三角.右上三角.左下三角.右下三角) 主要用到的是:宽度高度设置为0, border的各个边的设置(各个边的透明或不透明): .triangle-up ...
- properties配置文件在idea中默认utf-8可能会乱码
改一个设置就好了
- 炼金术(1): 识别项目开发中的ProtoType、Demo、MVP
软件开发是很分裂的,只有不断使用原则和规律,才能带来质量. 只要不是玩具性质的项目,项目应该可以大概划分为0-1,1-10,10-100,100-1000四个种重要阶段.其中,0-1是原型验证性的:1 ...
- Update(Stage4):Structured Streaming_介绍_案例
1. 回顾和展望 1.1. Spark 编程模型的进化过程 1.2. Spark 的 序列化 的进化过程 1.3. Spark Streaming 和 Structured Streaming 2. ...
- POJ 2559 Largest Rectangle in a Histogram(单调栈) && 单调栈
嗯... 题目链接:http://poj.org/problem?id=2559 一.单调栈: 1.性质: 单调栈是一种特殊的栈,特殊之处在于栈内的元素都保持一个单调性,可能为单调递增,也可能为单调递 ...
- 安装oracle11g时出现:在注册表中没有找到指定的主目录名
我碰到这个问题,不过我没去管它.直接安装了,后来数据库实例,什么的都能安装,目前没有发现什么问题. 造成这个的原因:是卸载oracle时注册表没有彻底删除! 如果后面出现问题,再记录.
- Java入门笔记 00-前言&目录
前言:这本笔记记录的是Java基础部分的学习内容,大部分内容总结性的,包括: ---01 Java基础语法 ---02 数组 ---03 面向对象 ---04 异常处理 ---05 多线程 ---06 ...
- New Airless Pump Bottle Technical Features
Airless Pump Bottle protect sensitive products such as natural skin creams, serums, foundations a ...
- Maven打包项目失败;报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project Hello: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/we
报错信息: E:\MIKEY\mikey\HTML5\TestMaven_01>mvn package [INFO] Scanning for projects... [INFO] [INFO] ...
- MySQL之innodb和myisam的区别
innodb和myisam的区别: MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型, .frm文件存储表定义, 数据文件的扩展名为.MYD, 索引文件的扩展名是 ...