Numpy 等函数的读书报告

发布时间 2023-12-18 17:38:13作者: lin_1
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif'] = 'SimHei'
 matplotlib 使用里面的函数读取图片,输出图片对应的数组
#  matplotlib 使用里面的函数读取图片,输出图片对应的数组
chicken=plt.imread('1.png')
print(chicken)
print("-"*50)
'''
输出结果
[[[0. 0. 0. 1.]
  [0. 0. 0. 1.]
  [0. 0. 0. 1.]
  ...
  ...
  [0. 0. 0. 1.]
  [0. 0. 0. 1.]
  [0. 0. 0. 1.]]]
'''
#  使用numpy创建数据类型为ndarray的数据结构
l=[1,4,5,6]
n=np.array(l)
print(n,type(n))
print("-"*50)
'''
输出结果:
[1 4 5 6] <class 'numpy.ndarray'>
'''
使用numpy创建一个元素全为1的多维数组
data=np.ones(shape=(3,4),dtype=np.int16)
print(data)
print("-"*50)
'''
输出结果:
[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]
'''
使用numpy里面的linspace创建一个等差数列
n1=np.linspace(0,100,num=51,dtype=np.int16)
print(n1)
print("-"*50)
'''
输出结果为:
[  0   2   4   6   8  10  12  14  16  18  20  22  24  26  28  30  32  34
  36  38  40  42  44  46  48  50  52  54  56  58  60  62  64  66  68  70
  72  74  76  78  80  82  84  86  88  90  92  94  96  98 100]
'''
使用numpy库对数组进行正则化(计算部分)
n3=np.random.randint(0,100,size=(5,5))
min1=np.min(n3)
max1=np.max(n3)
print((n3 - min1) / (max1 - min1))
print("-"*50)
'''
输出结果:
[[0.57894737 0.46315789 0.26315789 0.         0.56842105]
 [0.77894737 0.62105263 0.09473684 0.91578947 0.28421053]
 [0.63157895 0.66315789 0.44210526 0.50526316 0.11578947]
 [0.87368421 0.57894737 0.46315789 0.85263158 0.85263158]
 [0.67368421 0.85263158 0.71578947 0.21052632 1.        ]]
'''
创建一个5*3的随机矩阵和一个3*2的随机矩阵,求出矩阵的积
data_1=np.random.randint(0,100,size=(5,3))
data_2=np.random.randint(0,100,size=(3,2))
print(np.dot(data_1,data_2))
print("-"*50)
'''
输出结果:
[[ 5825  4288]
 [ 8133  3413]
 [ 7361  5406]
 [12047  5702]
 [13250  5446]]
'''
#  pandas 数据的分组聚合
#  使用字典的形式创建一个DataFrame数据结构
ddd=pd.DataFrame(
    data={
        "item": ["萝卜","白菜","辣椒","冬瓜","萝卜","白菜","辣椒","冬瓜"],
        'color':["白","青","红","白","青","红","白","青"],
        'weight': [10,20,10,10,30,40,50,60],
        'price': [0.99, 1.99, 2.99, 3.99, 4, 5, 6,7]
})
#  对ddd进行聚合操作,求出颜色为白色的价格的总和
result=ddd.groupby('color')[['price']].sum().loc[['白']]
print(result)
'''
输出结果:      
        price
color       
白      10.98
'''
#  使用matplotlib进行绘制图像
#  normal 用于生成一个符合正太分布的随机函数
#  loc:均值,scale:标准差,size:生成数据的数量
data=np.random.normal(size=(500, 4))
lables = ['A','B','C','D']
# 画图
plt.boxplot(data,
            notch=True,   # 箱型图样式
            sym='go',  # 颜色+marker样式
            labels=lables  # x轴标签
)
plt.show()

 

使用Scippy求解线性代数函数的一个简单的线性方程组
# 定义系数矩阵和常数向量
A = np.array([[1, 2], [3, 4]])
b = np.array([5, 6])

# 求解线性方程组
x = solve(A, b)

print(x)
print("-"*50)
'''
输出结果:[-4.   4.5]
'''

#  使用Matplotlib进行图像处理
img=plt.imread('1.png')
plt.imshow(img[::-1])  #  实现图片的垂直翻转翻转
#  plt.imshow([:,::-1])  #  实现图片的水平翻转
plt.savefig("1_.png")  #  然后保存为其他图片