博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Numpy学习一:ndarray数组对象
阅读量:7037 次
发布时间:2019-06-28

本文共 1802 字,大约阅读时间需要 6 分钟。

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')

转载于:https://www.cnblogs.com/sl0309/p/10354345.html

你可能感兴趣的文章
winform只允许一个应用程序运行 2014-12-08 09:51 31人阅读 评论(0) 收藏...
查看>>
JDK源码学习笔记——HashMap
查看>>
Java第四次作业
查看>>
详解CSS float属性(转)
查看>>
【总结整理】冯诺依曼体系结构
查看>>
Oracle自制事务
查看>>
bzoj 1452: [JSOI2009]Count ——二维树状数组
查看>>
147. Insertion Sort List
查看>>
Windows平台使用Gitblit搭建Git服务器教程
查看>>
课程设计__友元
查看>>
POJ 最小球覆盖 模拟退火
查看>>
[20180813]校内模拟赛
查看>>
关于Fragment的使用与Androikd sdk版本之间的东东
查看>>
for练习相关
查看>>
spring xml头文件xmlns和xsi的意思
查看>>
[转] 嵌入式入门学习法(写给惠州学院电子系学嵌入式的同学们)
查看>>
git学习——Git 基础要点【转】
查看>>
JavaScript基础篇分享之三
查看>>
CF1017A The Rank
查看>>
Java中的并发工具类(CountDownLatch、CyclicBarrier、Semaphore、Exchanger)
查看>>