Numpy task01

本文介绍了Numpy的ndarray基础知识,包括大数据容器、数学运算及数组元素类型要求。深入探讨了ndim、shape、dtype和astype的用法,并讲解了如何创建zeros、ones和empty数组。此外,还涉及到了Numpy的常量如nan、inf、pi和e,以及数据类型的相关信息。最后,讨论了datetime64的基础、运算及其在时间日期处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ndarray基础

1. 大数据容器

2. 执行数学运算

3. 容器内所有的元素必须是相同类型的

4. 构成: 一个shape(一个表示各维度大小的原件)和 dtype(一个用于说明数组数据类型的对象)

5. 创建ndarry

#创建数组--使用array函数
data1 = [6, 7.5, 8, 0, 1]
arr1 = np.array(data1)
arr1
array([6., 7.5., 8., 0., 1.])

#嵌套序列,一组等长列表组成的列表,将会被转换为一个多维数组
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr2 = np.array(data2)
arr2
array = ([[1., 2., 3., 4.], [5., 6., 7., 8.]])

6. 对比ndim、shape、dtype、astype的用法

–ndim 返回的是数组的维度,返回的只有一个数,该数即表示数组的维度。
–shape:表示各位维度大小的元组。返回的是一个元组。
–dtype:一个用于说明数组数据类型的对象。返回的是该数组的数据类型。由于图中的数据都为整形,所以返回的都是int32。如果数组中有数据带有小数点,那么就会返回float64。
–astype:转换数组的数据类型。

#数据
data1 = [1, 2, 3, 4, 5, 6]
data2 = [[1, 2, 3], [4, 5, 6]]
data3 = [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]
arr1 = np.array(data1)
arr2 = np.array(data2)
arr3 = np.array(data3)

#ndim
print(arr1.ndim, arr2.ndim, arr3.ndim)
1 2 3
#在numpy中可以理解为方向,使用0,1,2...数字表示,对于一个一维数组,只有一个0轴,对于2维数组(shape(2,2)),有0轴和1轴,对于三维数组(shape(2,2, 3)),有0,1,2轴

#shape
print(arr1.shape, arr2.shape, arr3.shape)
623) (223)
arr1 一维数组 1个数组 6个元素
arr2 二维数组 2个数组 3个元素 
arr3 二维数组 2个数组,2个元素,3个元素

#dtype
print(arr1.dtype, arr2.dype, arr3.dype)
int32 int32 int32

#astype
arr1
array([1., 2., 3.])

arr1.astype('int32')
array([1, 2, 3])

#astype:转换数组的数据类型。
#int32 --> float64        完全ok
#float64 --> int32        会将小数部分截断
#string_ --> float64        如果字符串数组表示的全是数字,也可以用astype转化为数值类型

例如
str1 = np.array(['1.25', '2.51', '3.11'], dtype=np.string)
str1.astype('float')
array([1.25, 2.51, 3.11])

7. zeros, ones, empty

-zeros 创建长度或者形状为0的数组

import numpy as np
 
x = np.zeros(5)
print(x)  # [0. 0. 0. 0. 0.]
x = np.zeros([2, 3])
print(x)
# [[0. 0. 0.]
#  [0. 0. 0.]]
 
x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.zeros_like(x)
print(y)
# [[0 0 0]
#  [0 0 0]]

-ones 创建长度或者形状为1的数组


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值