ndarray 的创建和各种数据类型
创建
由一维数组创建
import numpy as np
data = [6,8,2,3,4,4]
arr = np.array(data)
print(arr)
arr.ndim
类型 |
说明 |
array |
将输入数据(列表、元组、数组或其它序列类型)转换为ndarray。要么推断出dtype, 要么显示指定dtype。默认直接复制输入数据。 |
asarray |
将输入转换为darray,如果输入本身就是一个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单位矩阵 |
多维数组内存结构
普通二维数组创建
data = [[1,2,3,4],[5,6,7,8.0]]
arr = np.array(data)
print(arr)
arr.shape
arr.dtype
arr.ndim
zeros
np.zeros(10)
np.zeros((3,4))
empty 未初始化的数组
np.empty((2,2,3))
np.empty((2,2,3),int)
ones
np.ones((2,3))
np.ones((2,3),int)
arange
np.arange(10)
生成数组时指定数据类型
arr = np.array([1,2,3],dtype = np.int32)
arr = np.array([1,2,3],dtype = np.float32)
print(arr)
astype
int_arr = np.array([1,2,3,4,5])
int_arr.dtype
float_arr = int_arr.astype(dtype = np.float32 )
float_arr.dtype
假如是有浮点型向整形转换 小数部分会被舍弃
float_arr = np.array([2.2,3.3,4.4,5.5])
int_arr = float_arr.astype(dtype = np.int)
print(float_arr)
把字符串序列转化为数组
str_arr = np.array(['1.1','2.2','3.3','4.4'],dtype = np.string_)
str_arr
float_arr = str_arr.astype(dtype = np.float32)
print(float_arr)
print(float_arr.dtype)
把其他数组的数据类型作为astype的参数
int_arr = np.arange(10)
float_arr2 = int_arr.astype(float_arr.dtype)
print(float_arr2)
print(float_arr2.dtype)
数组和标量之间的运算
大小相等的数组之间的任何算术运算都会将运算应用到元素级
数组与标量的算术运算也会将那个标量值传播到各个元素
arr = np.array([[1,2,3],[4,5,6]])
arr.shape
print(arr)
print(arr*arr)
print(arr+arr)
print(arr-arr)
print(arr*3)
print(1/arr)
print(arr**0.5)
网友评论