# 输出数组
import numpy as np
arr= np.array([10,20,30,40,50])
print (arr)
# 变成多维数组
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3"
import numpy as np
arr=np.array([10,20,30,40,50], ndmin=2)
print(arr)
# 导入需要用到的库
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3"
import numpy as np
import matplotlib.pyplot as plt
# 导入需要用到的库
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3"
import numpy as np
arr = np.array([10,20,30,40,50], dtype = complex)
print(arr)
# 导入需要用到的库
import os
# 设置可见的GPU设备
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3"
import numpy as np
# 创建一个复数类型的数组
lists1 = [[101,202,303],[404,505,606]]
arr1 = np.array(lists1)
print("数组arr1的数据类型是: ")
print(arr1.dtype)
print("数组arr1的数组形状是:")
print(arr1.shape)
# zeros()创建一个全0的数组
import numpy as np
# 显示一个 3 行 4 列的全零矩阵
arr1 = np.zeros((3,4))
print(arr1)
# 新建全1的数组
import numpy as np
arr1 = np.ones((3,4))
print(arr1)
# eye()可以新建等行等列的数组,并且对角线上的数值为1,其余
# 的地方为0。只需传入一个数值
import numpy as np
arr1 = np.eye(4)
print(arr1)
# identity()方法也可以新建等行等列的数组,并且对角线上的数
# 值为1,其余的地方为0
import numpy as np
arr1 = np.identity(3)
print(arr1)
# empty()可以创建没有任何具体值的数组。要用这个方法创建多维
# 数组,只需传入一个表示形状的元组
import numpy as np
arr1 = np.empty((3,4))
print(arr1)
# 这里需要注意的是,使用astype()进行数据类型转换的时候,无
# 论如何都会创建出一个新的数组,也就是原始数组的一份副本,即使
# 新的dtype与老的dtype的数据类型一致也会如此
import numpy as np
arr1 = np.array([12.5,136.7,24.6,35.5,109.8])
int_arr1 = arr1.astype(int)
print(int_arr1.dtype)
str_arr1 = arr1.astype(str)
print(str_arr1.dtype)
# NumPy的random模块对Python内置的random模块进行了补充,增加
# 了一些用于高效生成多种概率分布的样本值的方法。例如,你可以用
# normal()方法来得到一个标准高斯分布(又称正态分布)的3×3样本
# 数组。
import numpy as np
samples = np.random.normal(size=(4,4))
print(samples)
# 而Python内置的random模块则一次只能生成一个样本值。从下面
# 代码的运行结果中可以看出,如果需要产生大量的样本值,使用NumPy
# 的random模块执行时间快了不止一个数量级。
# 这段代码的主要目的是比较两种生成正态分布随机数的方法的性能。numpy 的实现明显更高效,建议优先使用 numpy 的随机数生成函数来提高性能。
from random import normalvariate
import time
import numpy as np
n = 10000000
start = time.time()
samples = [normalvariate(0,1) for _ in range(n)]
times = np.random.normal(size=n)
end = time.time()
print(end-start)
# print(samples) 直接给干崩溃了 这个代码的执行效率低下,python这个语言龟行天下
# 数组对机器学习来说,最重要的作用在于不用编写循环即可对数
# 据进行批量运算。这通常就叫作矢量化(vectorization)。大小相等
# 的数组之间的任何算术运算都会被应用到元素级。可以通过下面的代
# 码来看一下具体的情况。
import numpy as np
arr1 = np.array([[10,20,30],[7,8,9]])
# 相当于 10*10 20*20 30*30
# 相当于 7*7 8*8 9*9
multi_arr = arr1*arr1
# 数组一 减去 数组一
# 10-10 20-20 30-30
# 7-7 8-8 9-9
sub_arr = arr1 - arr1
print("大小相等的数组实现乘法")
print(multi_arr)
print("大小相等的数组实现减法")
print(sub_arr)
import numpy as np
arr1 = np.array([[10,20,30],[7,8,9]])
# 相当于 100/10 100/20 100/30
divide_arr = 100 / arr1
# 相当于 10*0.5 20*0.5 30*0.5
multi_arr = arr1 * 0.5
print("数组与标量值的除法运算")
print(divide_arr)
print("数组与标量值的乘法运算")
print(multi_arr)
# 下面先通过统计学中距平处理的例子来了解广播的原则。距平是
# 一个大气科学术语,一般是指统计学中通常所称的“离差”,也就是
# 一组数据中的某一个数与平均数之间的差。在历史上,气温距平(单
# 位为℃)是有特定含义的,它是指某地气温与同纬度平均气温之差,
# 而不是一般意义的平均值。这里以北京冬季某个时间的气温值为例,
# 进行气温距平的计算
import numpy as np # 导入NumPy库,用于数值计算
weathers = np.array([[20,21,22,18,19,21,22], # 创建一个4行7列的二维数组,表示4天的天气数据
[18,21,23,19,18,21,13],
[18,19,22,21,21,17,16],
[15,18,20,19,21,17,18]])
print(weathers.mean(0)) # 打印每列的平均值(axis=0)
meaned = weathers - weathers.mean(0) # 用原始数据减去均值,对数据进行去均值化处理
print(meaned) # 打印去均值后的数据
print(meaned.mean(0)) # 打印去均值后数据的均值(应接近0)
import numpy as np
weathers = np.array([[20,21,22,18,19,21,22],
[18,21,23,19,18,21,13],
[18,19,22,21,21,17,16],
[15,18,20,19,21,17,18]])
print(weathers.mean(1).reshape((4,1)))
meaned = weathers - weathers.mean(1).reshape((4,1))
print(meaned)
print(meaned.mean(1))
推荐使用vscode notebook jupyter
这是本人的学习历程!
424

被折叠的 条评论
为什么被折叠?



