IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Numpy的代码使用 -> 正文阅读

[人工智能]Numpy的代码使用

作者:token triple-quoted-string string

Numpy

numpy是高性能科学计算和数据分析的基础包.
部分功能如下:
ndarry,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组.
用于对整组数据进行快速运算的标准数学函数(无需编写循环)
用于读写磁盘数据的工具以及用于操作内存映射文件的工具.
线性代数,随机数生成以及傅里叶变换功能.
用于集成由C,C++,Fortran等语言编写的代码的工具.

#创建ndarray
import numpy as np
data=[1,3,2,4]#字符
print(data)
arr=np.array(data)#将字符转换为数列
print(arr)
print(type(arr))

创建全0全1或没有任何具体值的数组

#arr_zero=np.zeros()会报错误
print('\n\n')
arr_zero=np.zeros((2,2))
print(arr_zero)
print(arr_zero.dtype)
print(type(arr_zero))
print('\n\n')
arr_one=np.ones((2,2))
print(arr_one)
print(arr_one.dtype)
print(type(arr_one))
print('\n\n')
arr_empty=np.empty((2,2))
print(arr_empty)
print(arr_empty.dtype)
print(type(arr_empty))

创建随机数组

arr1=np.random.rand(2,2)#创建指定形状的数组(范围在0至1之间)
arr2=np.random.uniform(0,10)#创建指定范围内的一个数
arr3=np.random.randint(0,10)#创建指定范围内的一个整数
arr4=np.random.normal(0.5,0.1,(2,2))#给定均值/标准差/维度的正太分布
print('arr1:',arr1)
print('arr2:',arr2)
print('arr3:',arr3)
print('arr4:',arr4)
print('arr1.dtype:',arr1.dtype)

查看ndarray的常用属性

print(arr4.size)#数组元素个数
print(arr4.shape)#数组形状
print(arr4.ndim)#数组维度
print(arr4.dtype)#数组元素类型

数组和标量之间的运算

#我们不用编写循环即可对数据执行批量运算.
#这通常叫做矢量化(vectorization).
#大小相等的数组之间的任何算术运算都会将运算应用到元素级.
#同样,数组与标量的算术运算也会将那个标量值传播到各个元素

arr=np.array([[1,2],[3,4],[5,6]])
print('arr+arr=',arr+arr)
print('arr-arr=',arr-arr)
print('arr*arr=',arr*arr)
print('arr/arr=',arr/arr)
print('arr+1=',arr+1)
print('arr-1=',arr-1)
print('arr*2=',arr*2)
print('arr/2=',arr/2)
print('1/arr=',1/arr)
print('arr**2=',arr**2)

数组的索引和切片

#跟列表最重要的区别在于,数组切片是原始数组的视图.
#这意味着数据不会被复制,视图上的任何修改都会直接反映到源数组上
#将一个标量值赋值给一个切片时,该值会自动传播到整个选区

arr=np.arange(10)
print(arr)
print(arr[2:7])
arr_slice=arr[4:8]
arr_slice[:]=20
print(arr)

数学和统计方法sum(和),mean(均值),std(标准差)

#可以通过数组上的一组数学函数对整个数组或某个轴向的数据进行统计计算
#sum,均值mean以及标准差std等聚合计算既可以当做数组的实例方法调用,也可以当做顶级Numpy函数使用

arr=np.random.randn(2,3)
print(arr)
print(np.mean(arr))
print(arr.mean())
print(arr.sum())
print(arr.std())

mean和sum的参数使用

mean均值和sum求和这类函数可以接受一个axis参数(用于计算该轴向上的统计值)
最终结果是一个少一维的数组

arr=np.random.randn(3,4)
print(arr)
#参数1将二维数组每行相加,得出的数除以列数的均值
#参数0将二维数组每列数相加,得出的数除以列数的均值
print(arr.mean(axis=1))
print(arr.mean(axis=0))
#0将二维数组中每列的所有数相加得到的和
#1将二维数组中每行的所有数相加得到的和
print(arr.sum(0))
print(arr.sum(1))
#其他参数将出现错误

cumsum和cumprod之类的方法则不聚合,而是产生一个由中间结果组成的数据

arr=np.random.randn(3,3)
print(arr)
print('\n')
print(arr.cumsum(0))
print(arr.cumprod(1))

矩阵乘法

Numpy提供了一个用于矩阵乘法的dot函数(既是一个数组方法,也是numpy命名空间中的一个函数)

x=np.array([[1,2],[3,4]])
y=np.array([[5,6],[7,8]])
print(np.dot(x,y))
print(x.dot(y))
print(x.dot(x))
print(y.dot(y))

print("计算对角线元素的和:"+x.trace())

全部代码

# -*- coding: utf-8 -*-
"""
Created on Mon Mar 21 15:11:16 2022

Numpy实践

@author: 86187
"""
'''
numpy是高性能科学计算和数据分析的基础包.
部分功能如下:
    ndarry,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组.
    用于对整组数据进行快速运算的标准数学函数(无需编写循环)
    用于读写磁盘数据的工具以及用于操作内存映射文件的工具.
    线性代数,随机数生成以及傅里叶变换功能.
    用于集成由C,C++,Fortran等语言编写的代码的工具.
    
'''

#创建ndarray
import numpy as np
data=[1,3,2,4]#字符
print(data)
arr=np.array(data)#将字符转换为数列
print(arr)
print(type(arr))



#创建全0全1或没有任何具体值的数组
#arr_zero=np.zeros()会报错误
print('\n\n')
arr_zero=np.zeros((2,2))
print(arr_zero)
print(arr_zero.dtype)
print(type(arr_zero))
print('\n\n')
arr_one=np.ones((2,2))
print(arr_one)
print(arr_one.dtype)
print(type(arr_one))
print('\n\n')
arr_empty=np.empty((2,2))
print(arr_empty)
print(arr_empty.dtype)
print(type(arr_empty))



#创建随机数组
print('\n\n')
arr1=np.random.rand(2,2)#创建指定形状的数组(范围在0至1之间)
arr2=np.random.uniform(0,10)#创建指定范围内的一个数
arr3=np.random.randint(0,10)#创建指定范围内的一个整数
arr4=np.random.normal(0.5,0.1,(2,2))#给定均值/标准差/维度的正太分布
print('arr1:',arr1)
print('arr2:',arr2)
print('arr3:',arr3)
print('arr4:',arr4)
print('arr1.dtype:',arr1.dtype)

#查看ndarray的常用属性
print('\n\n')
print(arr4.size)#数组元素个数
print(arr4.shape)#数组形状
print(arr4.ndim)#数组维度
print(arr4.dtype)#数组元素类型

#数组和标量之间的运算
#我们不用编写循环即可对数据执行批量运算.
#这通常叫做矢量化(vectorization).
#大小相等的数组之间的任何算术运算都会将运算应用到元素级.
#同样,数组与标量的算术运算也会将那个标量值传播到各个元素
print('\n\n')
arr=np.array([[1,2],[3,4],[5,6]])
print('arr+arr=',arr+arr)
print('arr-arr=',arr-arr)
print('arr*arr=',arr*arr)
print('arr/arr=',arr/arr)
print('arr+1=',arr+1)
print('arr-1=',arr-1)
print('arr*2=',arr*2)
print('arr/2=',arr/2)
print('1/arr=',1/arr)
print('arr**2=',arr**2)



#数组的索引和切片
#跟列表最重要的区别在于,数组切片是原始数组的视图.
#这意味着数据不会被复制,视图上的任何修改都会直接反映到源数组上
#将一个标量值赋值给一个切片时,该值会自动传播到整个选区
print('\n\n')
arr=np.arange(10)
print(arr)
print(arr[2:7])
arr_slice=arr[4:8]
arr_slice[:]=20
print(arr)



#数学和统计方法
#可以通过数组上的一组数学函数对整个数组或某个轴向的数据进行统计计算
#sum,均值mean以及标准差std等聚合计算既可以当做数组的实例方法调用,也可以当做顶级Numpy函数使用
print('\n\n')
arr=np.random.randn(2,3)
print(arr)
print(np.mean(arr))
print(arr.mean())
print(arr.sum())
print(arr.std())



#mean均值和sum求和这类函数可以接受一个axis参数(用于计算该轴向上的统计值)
#最终结果是一个少一维的数组
print('\n\n')
arr=np.random.randn(3,4)
print(arr)
#参数1将二维数组每行相加,得出的数除以列数的均值
#参数0将二维数组每列数相加,得出的数除以列数的均值
print(arr.mean(axis=1))
print(arr.mean(axis=0))
#0将二维数组中每列的所有数相加得到的和
#1将二维数组中每行的所有数相加得到的和
print(arr.sum(0))
print(arr.sum(1))
#其他参数将出现错误



#cumsum和cumprod之类的方法则不聚合,而是产生一个由中间结果组成的数据
print('\n\n')
arr=np.random.randn(3,3)
print(arr)
print('\n')
print(arr.cumsum(0))
print(arr.cumprod(1))



#矩阵乘法
#Numpy提供了一个用于矩阵乘法的dot函数(既是一个数组方法,也是numpy命名空间中的一个函数)
print('\n\n')
x=np.array([[1,2],[3,4]])
y=np.array([[5,6],[7,8]])
print(np.dot(x,y))
print(x.dot(y))
print(x.dot(x))
print(y.dot(y))

print("计算对角线元素的和:"+x.trace())

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:35:19  更:2022-03-22 20:38:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:35:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码