#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/2/11 11:48
# @Author : LZQ
# @Software: PyCharm
'''
# 字典结构
me={'lu':180}
print(me['lu'])
# 布尔bool型
hungry=True #饿了?
sleepy=False #困了?
print(type(hungry)) #<class 'bool'>
print(hungry and sleepy)
print(hungry or sleepy)
'''
# # for循环
# for i in [1,2,3]:
# print(i)
# numpy简短的运算
# import numpy as np
# x=np.array([1,2,3])
# print(x)
# print(type(x)) #<class 'numpy.ndarray'>
#
# # numpy广播机制,数组对标量或者说x向量对单个标量运算
# print(x/2.0) #[0.5 1. 1.5]
'''
NumPy 数组( np.array)可以生成 N 维数组,即可以生成一维数组、
二维数组、三维数组等任意维数的数组。数学上将一维数组称为向量,
将二维数组称为矩阵。
另外,可以将一般化之后的向量或矩阵等统称为张量(tensor)。
本书基本上将二维数组称为“矩阵”,将三维数组及三维以上的数组称为
“张量”或“多维数组”。
'''
# A=np.array([[1,2],[3,4]]) #2x2
# B=np.array([10,20])#1x2
# print(A*B)
'''
print(A*B)
结果:
[[10 40]
[30 80]]
'''
'''
广播
NumPy中,形状不同的数组之间也可以进行运算。之前的例子中,在
2× 2的矩阵A和标量10之间进行了乘法运算。在这个过程中,
标量 10被扩展成了2 × 2的形状,然后再与矩阵 A进行乘法运算。这个巧妙
的功能称为广播(broadcast)。
自我理解:广播机制,主要是解决数组相乘运算中的一个不满足情况,比如2x2 与 1x2 在数学理论上不能相乘
'''
import numpy as np
X=np.array([[1,2],[3,4]])
X1=X.flatten()
print(X)
print("把二维数组转化成一维数组")
print(X1)
print("获取索引")
print(X1[np.array([0,2])])
'''
结果:
[[1 2]
[3 4]]
把二维数组转化成一维数组
[1 2 3 4]
获取索引
[1 3]
'''
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/2/11 15:31
# @Author : LZQ
# @Software: PyCharm
import numpy as np
import matplotlib.pyplot as plt
'''
?基础的图生成
# 生成数据
x = np.arange(0,6,0.1) #以0.1为单位,生成0到6的数据
y=np.sin(x)
print(y)
# 绘制图形
plt.plot(x,y)
plt.show()
'''
#高级图生成
# 生成数据
x = np.arange(0,6,0.1) #以0.1为单位,生成0到6的数据
y1=np.sin(x)
y2=np.cos(x)
# 绘制图形
plt.plot(x,y1,label="sin")
plt.plot(x,y2,linestyle="--",label="cos")
plt.xlabel("x")
plt.ylabel("y")
plt.title("sin & cos")
plt.legend()
plt.show()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/2/11 15:40
# @Author : LZQ
# @Software: PyCharm
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('car.png')
plt.imshow(img)
plt.show()