数据分析之路 第一篇 numpy

时间:2022-01-11 17:01:30

第一篇 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
#
(2, 5)
#
10
#
int32
#
4

数据分析之路  第一篇 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]) #23
print(a[-1,-2,-3]) #17

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]]]