python---Numpy模块中创建数组的常用方式代码示例
要机器学习,这方面内容不可少。
import numpy as np
import time
# 对比标准python实现和numpy实现的性能差异
def sum_trad():
start = time.time()
X = range(1000000)
Y = range(1000000)
Z = []
for i in range(len(X)):
Z.append(X[i] + Y[i])
return time.time() - start
def sum_numpy():
start = time.time()
X = np.arange(1000000)
Y = np.arange(1000000)
Z = X + Y
return time.time() - start
# print('time trade sum: ', sum_trad(), ' .time numpy sum: ', sum_numpy())
print('=========数组的创建和列表的转换===========')
arr = np.array([2, 6, 5, 9], float)
print(arr)
print(type(arr))
print(arr.tolist())
print(list(arr))
print('=========数组的复制===========')
arr1 = arr
arr2 = arr.copy()
arr[0] = 0
print(arr1)
print(arr2)
print('=========数组的同值填充===========')
arr.fill(1)
print(arr)
print('=========随机选择元素来创建数组===========')
print(np.random.permutation(3))
print(np.random.normal(0, 1, 5))
print(np.random.random(5))
print('=========单位矩阵的创建===========')
print(np.identity(5, dtype=float))
print('=========创建数组,k条对角线上元素为1===========')
print(np.eye(3, k=1, dtype=float))
print('=========创建数组,用1或0填充===========')
print(np.ones((2,3), dtype=float))
print(np.zeros(6, dtype=int))
print('=========数组的创建,类型和维度和现有数组相同===========')
arr = np.array([[13, 32, 31], [64, 25, 76]], float)
print(np.zeros_like(arr))
print(np.ones_like(arr))
print('=========数组的创建, 合并一维数组===========')
arr1 = np.array([1, 3, 2])
arr2 = np.array([3, 4, 6])
print(np.vstack([arr1, arr2]))
print('=========随机从0到1之间均匀分布中选取元素创建数组===========')
print(np.random.rand(2, 3))
print('=========多元正态分布创建数组===========')
print(np.random.multivariate_normal([10, 0], [[3, 1], [1, 4]], size=[5,]))
PS C:\Users\aeonh> & C:/Python37/python.exe c:/test/ml.py =========数组的创建和列表的转换=========== [. . . .] <class 'numpy.ndarray'> [2.0, 6.0, 5.0, 9.0] [2.0, 6.0, 5.0, 9.0] =========数组的复制=========== [. . . .] [. . . .] =========数组的同值填充=========== [. . . .] =========随机选择元素来创建数组=========== [ ] [-1.15120655 0.35107448 -0.47478187 0.67095854 0.68825847] [0.04596957 0.40655295 0.19235859 0.48460268 0.88771739] =========单位矩阵的创建=========== [[. . . . .] [. . . . .] [. . . . .] [. . . . .] [. . . . .]] =========创建数组,k条对角线上元素为1=========== [[. . .] [. . .] [. . .]] =========创建数组,用1或0填充=========== [[. . .] [. . .]] [ ] =========数组的创建,类型和维度和现有数组相同=========== [[. . .] [. . .]] [[. . .] [. . .]] =========数组的创建, 合并一维数组=========== [[ ] [ ]] =========随机从0到1之间均匀分布中选取元素创建数组=========== [[0.38304875 0.4372066 0.91975504] [0.6885767 0.23416509 0.56332644]] =========多元正态分布创建数组=========== [[10.96439198 1.05927544] [12.75575406 -2.3237166 ] [13.5318655 1.29196728] [12.20432062 0.40086517] [ 9.23879038 0.24105831]]
python---Numpy模块中创建数组的常用方式代码示例的更多相关文章
- python基础:os模块中关于文件/目录常用的函数使用方法
Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...
- os模块中关于文件/目录常用的函数使用方法
os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...
- 18 os/os.path模块中关于文件/目录常用的函数使用方法 (转)
os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...
- Python3:numpy模块中的argsort()函数
Python3:numpy模块中的argsort()函数 argsort函数是Numpy模块中的函数: >>> import numpy >>> help(nu ...
- Java中创建数组的几种方法
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...
- JavaScript中创建数组的方式!
JavaScript中创建数组的方式! 利用数组字面量 // 1 直接量 console.log(Array.prototype); var arr = [1, 2, 4, 87432]; // 注意 ...
- python之模块ftplib(实现ftp上传下载代码)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) f ...
- [Python]-numpy模块-机器学习Python入门《Python机器学习手册》-01-向量、矩阵和数组
<Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...
- python numpy模块
目录 numpy模块 一维数组 二维数组(用的最多的) 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的元素的替换 通过函数方法创建多维数组 矩阵的运算 点乘和转置(了解) 点乘必须 m*n ...
随机推荐
- django:资源网站汇总
Django REST framework官网 http://www.sinodocs.cn/ django中文网 https://www.django.cn/
- Kubernetes 集群日志管理 Elasticsearch + fluentd(二十)
目录 一.安装部署 Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elas ...
- Spring中的常用注解
Spring中的常用注解 1.@Controller 标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.
- 【剑指offer】面试题 19. 正则表达式匹配
面试题 19. 正则表达式匹配
- Mysql中类似于Oracle中connect by ... start with的查询语句(木大看懂)
表结构 create table sys_branch ( id ) not null, parent_id ), branch_name ), delete_flag ), primary key ...
- c++基础(五)——关联容器
1.关联容器 关联容器中的元素时按照关键字来保存和访问的,与之相对的,顺序容器中的元素时按它们在容器中的位置来顺序保存和访问的.两个主要关联容器是 map 和 set.标准库提供了8个关联容器,这8个 ...
- Linux 中的 ~/. 表示的意思
在Linux中, ~ 表示用户的目录, 如用户名是Gavin, 那么~/表示 /home/Gavin 所以~/. 表示 用户目录下的隐藏文件. 扩展: 若以用户身份登录 ~ 表示 /home 目录 ...
- AS3放大镜工具类
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Display ...
- LOJ2882 JOISC2014 两个人的星座 计算几何
传送门 一件值得注意的事情是:平面上两个不相交的三角形一定会存在两条公切线 那么我们可以枚举三角形的公切线,计算有多少个三角形的公切线之一为该线,所有的答案除以2就是我们要求的答案. 考虑如何去计算有 ...
- 启动Spring boot项目报错:java.lang.IllegalArgumentException: LoggerFactory is not a Logback
java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on t ...