Numpy学习一:ndarray数组对象
NumPy是Python的一个高性能科学计算和数据分析基础库,提供了功能强大的多维数组对象ndarray。
jupyter notebook快速执行代码的快捷键:鼠标点击选中要指定的代码框,Shift + Enter组合键直接执行代码框中的全部代码。 Alt + Enter组合键执行完代码框中的代码在代码框的下面再添加一个空代码框。
1、创建数组
#引入numpy,并重命名为np,方便使用
import numpy as np
1.1、使用numpy内置的array函数创建数组
#创建一维数组
arr1 = np.array([1,2,3])
print(arr1)
结果:[1 2 3]
#创建二维数组
arr2 = np.array([[1,2,3],[4,5,6]])
print(arr2)
结果:[[1 2 3] [4 5 6]]
1.2、使用arange函数创建数组
#使用arange函数创建包含0到9 十个数字的一维数组
#注意:arange函数返回的数组默认第一个元素是0,结束元素是指定的数值前一个数字9
arr_1 = np.arange(10)
print(arr_1)
结果:[0 1 2 3 4 5 6 7 8 9]
#通过arange函数设置“开始、结束、步长”三个参数创建包含1到10所有奇数的一维数组
#从1开始,到10前一位结束,步长为2表示相邻两个元素的差值是2
print(arr_2)
arr_2 = np.arange(1,10,2)
结果:[1 3 5 7 9]
1.3、全0、全1数组
#使用zeros函数创建一个包含10个全0数字的一维数组
z1 = np.zeros(10)
print(z1)
结果:[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
#创建3行4列的二维全0数组
z2 = np.zeros((3,4))
print(z2)
结果:[[ 0. 0. 0. 0.] [ 0. 0. 0. 0.] [ 0. 0. 0. 0.]]
#创建全1数组
o1 = np.ones(5)
print(o1)
结果:[ 1. 1. 1. 1. 1.]
#创建3行4列全1二维数组
o2 = np.ones((3,4))
print(o2)
结果:[[ 1. 1. 1. 1.] [ 1. 1. 1. 1.] [ 1. 1. 1. 1.]]
2、数组的属性方法
#查看数组o2各维度的大小
o2.shape
#运行结果是一个元组(3,4)表示第1维的大小是3(也是就是3行),第2维的大小是4(也就是4列)
结果:(3, 4)
#查看o2第1维的大小(行数)
o2.shape[0]
结果:3
#查看o2第2维的大小(列数)
o2.shape[1]
结果:4
#查看数组中元素类型
o2.dtype
结果:dtype('float64')
#类型转换函数astype,数组元素由float64类型转换成int32类型,并返回一个新的数组o2_1,原数组o2元素类型不变
o2_1 = o2.astype(np.int32)
#o2数组类型不变
o2.dtype
结果:dtype('float64')
#o2_1数组中元素类型为int32
o2_1.dtype
结果:dtype('int32')
#创建字符串类型数组
arr_string = np.array(["12.78","23.15","34.5"])
arr_string.dtype
结果:dtype('<U5')#dtype('<U5')表示字符串不超过5位
#将字符串数组转换成浮点类型数组
arr_float = arr_string.astype(np.float64)
print(arr_float)
结果:[ 12.78 23.15 34.5 ]
#float类型数组转换成整型数组,小数部分将会被截断
arr_int = arr_float.astype(np.int32)
print(arr_int)
结果:[12 23 34]
#numpy自动识别元素类型
np.array([1,2,3]).dtype
结果:dtype('int32')
Numpy学习一:ndarray数组对象的更多相关文章
- numpy学习之创建数组
1.使用array函数创建数组 import numpy as np ndarray1 = np.array([1, 2, 3]) array([1, 2, 3]) ndarray2 = np.arr ...
- 3.2Python数据处理篇之Numpy系列(二)--- ndarray数组的创建与变换
目录 (一)ndarray数组的创建 1.从列表以元组中创建: 2.使用函数创建: (二)ndarray数组的变换 1.维度的变换: 2.类型的变换: 目录: 1.ndarray数组的创建 2.nda ...
- OC学习篇之---数组对象的引用计数问题和自动释放池的概念
之前一片文章中我们介绍了OC中的两个关键字@property和@synthesize的使用的使用: http://blog.csdn.net/jiangwei0910410003/article/de ...
- 初识numpy的多维数组对象ndarray
PS:内容来源于<利用Python进行数据分析> 一.创建ndarray 1.array :将一个序列(嵌套序列)转换为一个数组(多维数组) In[2]: import numpy as ...
- NumPy学习_00 ndarray的创建
1.使用array()函数创建数组 参数可以为:单层或嵌套列表:嵌套元组或元组列表:元组或列表组成的列表 # 导入numpy库 import numpy as np # 由单层列表创建 a = np. ...
- NumPy学习_01 ndarray相关概念
1.NumPy库 NumPy = Numerical Python 是高性能科学计算和数据分析的基础库. pandas库充分借鉴了NumPy的相关概念,先行掌握NumPy库的用法,才能把pandas的 ...
- NumPy学习_02 ndarray基本操作
1.算术运算符 它们只用于位置相同的元素之间,即为元素级的运算. 所得到的运算结果组成一个新的数组. 不用编写循环即可对数据执行批量运算.(矢量化) import numpy as np # 创建一个 ...
- Numpy学习三:数组运算
1.转置 #reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状 创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组arr = np ...
- Numpy学习二:数组的索引与切片
1.一维数组索引与切片#创建一维数组arr1d = np.arange(10)print(arr1d) 结果:[0 1 2 3 4 5 6 7 8 9] #数组的索引从0开始,通过索引获取第三个元素a ...
随机推荐
- pg_dump 数据处理
从数据库导出数据 -U 用户 -p 端口 -h 主机地址 -f 导出文件地址 -O 备份数据库结构和数据,不设置拥有者 -s 只导出数据库结构 最后是库名 (全部导出)pg_dump -U post ...
- Mysql数据库性能优化(一)
参考 http://www.jb51.net/article/82254.htm 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要 ...
- bottle源码
import sys __author__ = 'Marcel Hellkamp' __version__ = '0.13-dev' __license__ = 'MIT' ############# ...
- 腾讯开源的Paxos库PhxPaxos代码解读---Prepare阶段(一)
简单的画了一下PhxPaxos在Prepare阶段的逻辑,主要是正常的逻辑,异常逻辑和超时后面再写了; 熟悉PhxPaxos代码最好的方法是编译运行sample目录下的三个例子,编译方法在另一篇博客已 ...
- JS Object.defineProperties()方法
JS Object.defineProperties()方法 描述: Object.defineProperties()方法为目标对象同时配置多个属性. 语法: Object.defineProper ...
- 89、instancetype和id的区别
1>instancetype在类型表示上,跟id一样,可以表示任何对象类型 2>instancetype只能用在返回值类型上,不能像id一样用在参数类型上 3>instancetyp ...
- Parsing error was found in mapping #{}. Check syntax #{property|(expression), var1=value1, var2=val错误
xml中有一个语法错误,整个都错了, 虽然只调用了select查询的方法,但是update中也有语法错误
- 关于Bell数的一道题目
考虑 T3+1 {1,2,3,4} T3是3个元素的划分,如果在里面加入子集{4}, 4被标成特殊元素, 就形成了T4一类的划分(里面的子集的并集是{1,2,3,4}) T2是2个元素的划 ...
- 理解RNN
摘自:https://zybuluo.com/hanbingtao/note/541458 语言模型就是这样的东西:给定一个一句话前面的部分,预测接下来最有可能的一个词是什么. 语言模型是对一种语言的 ...
- metasploit生成payload的格式
转自https://www.cnblogs.com/zlgxzswjy/p/6881904.html Often one of the most useful (and to the beginner ...