数据分析之路 第一篇 numpy

时间:2023-03-09 03:01:36
数据分析之路  第一篇 numpy

第一篇 numpy

1.N维数组对象 :ndarray
在Python中既然有了列表类型,为啥还要整个数组对象(类型)?那是因为:
1.数组对象可以除去元素间运算所需要的循环,使得一维向量更像单个数据
2.设置数组对象可以提升计算的速度
3.数组对象采取相同的数据类型,有助于节省运算空间和存储空间
nsarray 是一个多维数组对象,由两部分组成:
1.实际的数据
2.描述这些数据的原数据(数据维度、数据类型等)

数据分析之路  第一篇 numpy

import numpy as np

a = np.array([[0,1,2,3,4],
[9,8,7,6,5]]) print(a.ndim)
print(a.shape)
print(a.size)
print(a.dtype)
print(a.itemsize) #
#(2, 5)
#
#int32
#

数据分析之路  第一篇 numpy     数据分析之路  第一篇 numpy

#创建数组

import numpy as np

x = np.array([0,1,2,3])
x1 = np.array((0,1,2,3))
x2 = np.array([[1,2],[3,4],[0.4,0.5]]) print(x)
print(x1)
print(x2) 注释:
[0 1 2 3]
[0 1 2 3]
[[ 1. 2. ]
[ 3. 4. ]
[ 0.4 0.5]]

数据分析之路  第一篇 numpy                   数据分析之路  第一篇 numpy

数据分析之路  第一篇 numpy

ndarray 数组的变换

数据分析之路  第一篇 numpy

import numpy as np

a = np.ones((2,3,4),dtype=np.int32)
print(a)
b = a.reshape(3,8)
print(b)
#ndarray 数组向列表转化
print(a.tolist()) 注意:
[[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]] [[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]]
[[1 1 1 1 1 1 1 1]
[1 1 1 1 1 1 1 1]
[1 1 1 1 1 1 1 1]]
[[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]]

ndarray数组的切片和索引

#数组的索引和切片

a = np.arange(24).reshape((2,3,4))
print(a)

[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]


[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]

print(a[1,2,3]) #
print(a[-1,-2,-3]) # print(a[:,1,-3]) #[ 5 17] print(a[:,1:3,:]) print(a[:,:,::2]) 输出结果:
[[[ 4 5 6 7]
[ 8 9 10 11]] [[16 17 18 19]
[20 21 22 23]]] [[[ 0 2]
[ 4 6]
[ 8 10]] [[12 14]
[16 18]
[20 22]]]