2022.03.24

课时18 numpy的数组的创建。

numpy主要是处理数值型数据的。

2022.03.24_第1张图片

 2022.03.24_第2张图片

 2022.03.24_第3张图片

import numpy as np
#使用numpy生成数组,得到ndarray的数据类型。
t1=np.array([1,2,3,])
print(t1)
print(type(t1))

t2=np.array(range(10))
print(t2)

t3=np.arange(10)#和range一样,帮助我们快速生成一堆数组.
print(t3)
print(type(t3))

print(t3.dtype)#dtype是用来显示当前存放的数据类型的

执行结果:
[1 2 3]

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

int32  #32位的电脑,输出就是int32

 2022.03.24_第4张图片

 2022.03.24_第5张图片

 python里面保留小数。

而使用numpy的话。只需要使用round函数。

#numpy中的数据类型
t4=np.array(range(1,4),dtype="float32") #或写成dtype=float
print(t4)
print(t4.dtype)

#numpy中的bool类型
t5=np.array([1,1,0,1,0,0],dtype=bool)
print(t5)
print(t5.dtype)

#调整数据类型
t6=t5.astype("int8")
print(t6)
print(t6.dtype)

#numpy中的小数
t7=np.array([random.random() for i in range(10)])
print(t7)
print(type(t7))
print(t7.dtype)

#如何保存小数
t8=np.round(t7,2)#传入数组,后面数字代表保留几位小数
print(t8)


执行结果:
[1. 2. 3.]
float32

[ True  True False  True False False]
bool

[1 1 0 1 0 0]
int8

[0.84903279 0.69180312 0.98349287 0.10204659 0.70564674 0.41000345
 0.38814175 0.86487422 0.08711833 0.56850099]

float64

[0.85 0.69 0.98 0.1  0.71 0.41 0.39 0.86 0.09 0.57]

 课时19数组的计算

2022.03.24_第6张图片

2022.03.24_第7张图片 

如果一个数组的shape(形状)的值有一个,那么就是一维的值;shape的值有两个,那么就是二维的值……以此类推。 

2022.03.24_第8张图片

 那么上面图的三维数组里面的”2“代表什么呢?

首先我们要先了解如何修改一个数的形状。

2022.03.24_第9张图片

通过reshape函数可以看书,第一个”2”代表块数。 

这是一块

 这是一块。

那么后面的两个数字呢?则是代表块里面的数据,每一块里面有三组数据,每一组有4个元素。

那么把这个三维数组变成二维数组呢?

2022.03.24_第10张图片

可以看到,二维的数组,第一个数字“4”就是指一个数据里面的组数,第二数字“6”是指元素的个数。

二维的数组没有块数。

另外,reshape函数是一个原地操作,所以可以看到,t5本身就没有发生改变的。因为是对数据本身进行修改,不会有一个返回值。

那么如何把这个三维数组改成一维的呢?

2022.03.24_第11张图片

如果写成(34,1)的话,就会变成 

 2022.03.24_第12张图片

一个二维数组了。 

 当然,也有另外的方法。

2022.03.24_第13张图片 

 2022.03.24_第14张图片

 当一个数组和一个数字进行计算时,它会把这个计算运用于这个数组里面的每一个元素。

2022.03.24_第15张图片

这就是numpy里面的“广播机制(即一人说话,全员听见)“。 

那么,如何运算是”除以0“的话,会报错吗?

2022.03.24_第16张图片

结果分为”nan“和”inf“。

”nan“是“0除以0的结果”。意味“not a number(不是一个数字)”

“inf”是“infinity”(无限,无穷的意思)。 

2022.03.24_第17张图片

 两个数组的形状是一模一样的时候,计算则是对应位置进行计算。

2022.03.24_第18张图片

这个时候,t5的每一行和t7进行计算,因为维度相同。

 2022.03.24_第19张图片

 维度不同数组也是可以进行计算的。

在维度相同的“部分”进行计算即可。在t5-t8的情况中,每一列的第一个元素上进行计算。

那么每一部分维度都完全不一样的数组能够进行计算吗?

2022.03.24_第20张图片

答案是不能的。

 2022.03.24_第21张图片

 2022.03.24_第22张图片

 2022.03.24_第23张图片

 2022.03.24_第24张图片

 2022.03.24_第25张图片

轴长相等是什么意思呢?是指末尾开始的两个长度相等。

比如(3,3,2)和(3,2),最后的(3,2)的部分是相等的,可以计算。 因为在某一个方向上是一样的。

所以(3,3,3)和(3,2)无法计算。

课时20 numpy读取本地数据

2022.03.24_第26张图片

 2022.03.24_第27张图片

 2022.03.24_第28张图片

2022.03.24_第29张图片 

 2022.03.24_第30张图片

dtype代表文件读取后,想要数据是什么类型。

delimited表示数据用什么分隔开的,在csv里面就是逗号。

 unpack参数表示转势。

2022.03.24_第31张图片

 2022.03.24_第32张图片

 2022.03.24_第33张图片

 

你可能感兴趣的:(无监督学习)