numpy学习笔记(其一)

numpy的ndarray

ndarray:一种多维数组对象,ndarray是一个通用的同构数据多维容器,即其中的每一个元素必须是相同类型的。当元素的类型不同时,系统会强制转换数据类型。每个数组都有一个shape(一个表示各维度大小的元组)和有一个dtype(一个用于说明数据类型的对象)
使用np.ndarray()创建数组时,参数为一个序列,这个参数中元素的个数表示该数组的维度,从第一个元素开始表示每个维度元素的多少,如下面的例子,三个元素得到了一个三维数组,第一个元素是1,表示这个三维数组只有一个二维数组元素,第二个元素为2,表示每个二维数组元素中包含两个一维数组,最后的3表示每个一位数组有三个元素。(这些元素均是系统自带的,无实际意义),dtype指定元素类型。

a = np.ndarray([1,2,3],dtype=np.float64)
a
array([[[3.44900708e-307, 2.09483834e-321, 0.00000000e+000],
        [1.02455032e-311, 0.00000000e+000, 3.25060610e-319]]])

使用np.array()可以创建指定元素的多维数组

#一维数组
a = np.array([1,2,3])
a
array([1, 2, 3])
a.shape
(3,)
a.dtype
dtype('int32')
#二维数组
b = np.array(((1,2,3),(4,5,6),(7,8,9)))
b
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
b.shape
(3, 3)
b.dtype
dtype('int32')
#三维数组
c = np.array([[[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15],[16,17,18]]],dtype=np.float64)
c
array([[[ 1.,  2.,  3.],
        [ 4.,  5.,  6.],
        [ 7.,  8.,  9.]],
       [[10., 11., 12.],
        [13., 14., 15.],
        [16., 17., 18.]]])
c.shape
(2, 3, 3)
c.dtype
dtype('float64')
b = np.asarray(({1:1,2:2,3:3},{4,5,6},{7,8,9}))
b
array([{1: 1, 2: 2, 3: 3}, {4, 5, 6}, {8, 9, 7}], dtype=object)
b = np.array(({1:1,2:2,3:3},{4,5,6},{7,8,9}))
b
array([{1: 1, 2: 2, 3: 3}, {4, 5, 6}, {8, 9, 7}], dtype=object)
d = np.array(({1,2,3},{4,5,6},{7,8,9}))
d
array([{1, 2, 3}, {4, 5, 6}, {8, 9, 7}], dtype=object)
d.shape
(3,)
d.dtype
dtype('O')
d = np.array(({1:1,2:2,3:3},{4,5,6},{7,8,9}))
d.shape
(3,)
d.dtype
dtype('O')

使用zeros和zeros_like创建多维数组

a = np.zeros(5)
a
array([0., 0., 0., 0., 0.])
b = np.zeros_like([1,2,3,4,5])
b
array([0, 0, 0, 0, 0])
a1 = np.zeros((3,3))
a1
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])

使用ones和ones_like创建多维数组

a = np.ones((3))
a
array([1., 1., 1.])
b = np.ones_like([1,2,3,4,5])
b
array([1, 1, 1, 1, 1])

使用empty和empty_like创建数组

a = np.empty((1,2,3))
a
array([[[3.44900708e-307, 2.09483834e-321, 0.00000000e+000],
        [1.02455032e-311, 0.00000000e+000, 3.25060610e-319]]])
a = np.empty_like([1,2,3])
a
array([1, 2, 3])

使用arange创建数组

a = np.arange(5)
a
array([0, 1, 2, 3, 4])

使用eye和identity创建数组

a = np.eye((5))
a
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])
b = np.identity((5))
b
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])
函数说明
array将输入数据(列表、元组、数组或其他序列类型)转换为ndarray,要么推断出dtype,要么显式指定dtype.默认直接复制输入数据
asarray将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制
arange类似于内置的range,但返回的是一个ndarray而不是列表
ones、ones_like根据指定的形状和dtype创建一个全1数组。ones_like以另一个数组为参数,并根据其形状和dtype创建一个全1数组
zeros、zeros_like类似于ones和ones_like,只不过产生的是全0数组
empty、empty_like创建新数组,只分配内存空间但不填充任何值
eye、identity创建一个正方的N * N单位矩阵(对角线为1,其余为0)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值