numpy学习(四)
练习篇(Part 4)
41. How to sum a small array faster than np.sum? (★★☆)
arr = np.arange(10)
print(np.add.reduce(arr))
运行结果:45
42. Consider two random array A and B, check if they are equal (★★☆)
arr1 = np.random.randint(0,2,4).reshape(2,2)
arr2 = np.random.randint(0,2,4).reshape(2,2)
print(arr1)
print(arr2)
print(np.allclose(arr1,arr2))
print(np.array_equal(arr1,arr2))
运行结果:
[[0 1]
[1 1]]
[[1 0]
[1 1]]
False
False
43. Make an array immutable (read-only) (★★☆)
arr = np.random.randint(1,2,(3,3))
arr.flags.writeable = False
arr[0][0] = 1
运行结果:

44. Consider a random 10x2 matrix representing cartesian coordinates, convert them to polar coordinates (★★☆)
arr = np.random.randint(1,10,(10,2))
x = arr[:,0]
y = arr[:,1]
R = np.sqrt(x**2+y**2)
T = np.arctan2(y,x)
print(R)
print(T)
运行结果:
[ 8.94427191 9.21954446 9.89949494 10.63014581 7.07106781 9.21954446
8.94427191 9.05538514 8.60232527 11.3137085 ]
[0.46364761 0.21866895 0.78539816 0.71883 0.78539816 0.86217005
1.10714872 0.11065722 0.62024949 0.78539816]
45. Create random vector of size 10 and replace the maximum value by 0 (★★☆)
arr = np.random.randint(1,10,10)
print(arr)
arr[arr.argmax()] = 0
print(arr)
运行结果:
[3 4 7 9 4 2 4 4 2 8]
[3 4 7 0 4 2 4 4 2 8]
46. Create a structured array with x and y coordinates covering the [0,1]x[0,1] area (★★☆)
arr = np.zeros((5,5),[('x',float),('y',float)])
arr['x'],arr['y'] = np.meshgrid(np.linspace(0,1,5),np.linspace(0,1,5))
print(arr)
运行结果:
[[(0. , 0. ) (0.25, 0. ) (0.5 , 0. ) (0.75, 0. ) (1. , 0. )]
[(0. , 0.25) (0.25, 0.25) (0.5 , 0.25) (0.75, 0.25) (1. , 0.25)]
[(0. , 0.5 ) (0.25, 0.5 ) (0.5 , 0.5 ) (0.75, 0.5 ) (1. , 0.5 )]
[(0. , 0.75) (0.25, 0.75) (0.5 , 0.75) (0.75, 0.75) (1. , 0.75)]
[(0. , 1. ) (0.25, 1. ) (0.5 , 1. ) (0.75, 1. ) (1. , 1. )]]
47. Given two arrays, X and Y, construct the Cauchy matrix C (Cij =1/(xi - yj))
arr1 = np.random.randint(5,10,5)
arr2 = np.random.randint(1,5,5)
print(arr1)
print(arr2)
arr3 = 1.0/np.subtract.outer(arr1,arr2)
print(arr3)
运行结果:
[9 9 5 6 7]
[2 3 1 4 1]
[[0.14285714 0.16666667 0.125 0.2 0.125 ]
[0.14285714 0.16666667 0.125 0.2 0.125 ]
[0.33333333 0.5 0.25 1. 0.25 ]
[0.25 0.33333333 0.2 0.5 0.2 ]
[0.2 0.25 0.16666667 0.33333333 0.16666667]]
48. Print the minimum and maximum representable value for each numpy scalar type (★★☆)
for dtype in [np.int8, np.int32, np.int64]:
print(np.iinfo(dtype).min)
print(np.iinfo(dtype).max)
for dtype in [np.float32, np.float64]:
print(np.finfo(dtype).min)
print(np.finfo(dtype).max)
运行结果:
-128
127
-2147483648
2147483647
-9223372036854775808
9223372036854775807
-3.4028235e+38
3.4028235e+38
-1.7976931348623157e+308
1.7976931348623157e+308
49. How to print all the values of an array? (★★☆)
arr = np.random.randint(1,10,9).reshape(3,3)
print(arr)
运行结果:
[[5 3 4]
[9 2 9]
[6 6 4]]
50. How to find the closest value (to a given scalar) in a vector? (★★☆)
arr1 = np.arange(100)
arr2 = np.random.uniform(0,100)
index = (np.abs(arr1-arr2)).argmin()
print(arr1)
print(arr2)
print(arr1[index])
运行结果:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99]
46.27162981393338
46
numpy学习(四)的更多相关文章
- Numpy学习四:numpy.power()用法
numpy.power(n, x) 对数组n的元素分别求x次方.x可以是数字,也可以是数组,但是n和x的列数要相同.
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习笔记 一
NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- NumPy学习(让数据处理变简单)
NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同 ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- Numpy学习笔记(上篇)
目录 Numpy学习笔记(上篇) 一.Jupyter Notebook的基本使用 二.Jpuyter Notebook的魔法命令 1.%run 2.%timeit & %%timeit 3.% ...
- numpy学习总结
Contents Numpy是一个用python实现的科学计算包,主要提供矩阵运算的功能,而矩阵运算在机器学习领域应用非常广泛,Numpy一般与Scrapy.matplotlib一起使用. Numpy ...
随机推荐
- position属性值4缺一带你了解相对还是绝对抑或是固定定位
阿基米德说“给我一个支点,我能翘起整个地球”,在HTML页面中,给你一个坐标,可以把任何一个元素定位目标点,这就是定位!CSS有三种基本的定位机制:相对定位.绝对定位.固定定位,决定定位的positi ...
- 查看deepin操作系统版本命令
cat /proc/version cat /etc/debian_version cat /etc/os-release lsb_release -a uname -a uname -r sc ...
- Linux 防SSH暴力攻击
在下这几天发现我的VPS 总是莫名遭受到 江苏镇江那边的IP 登录请求攻击 ,跟踪了下路由,发现ip是从蒙古那边出去的,然后意识到可能是有扫描端口的.. 方法一: 现在的互联网非常不安全,很多人没事就 ...
- C#中的异步编程--探索await与async关键字的奥妙之处,原来理解和使用异步编程可以这么简单
前言 await与async是C#5.0推出的新语法,关于await与async有很多文章讲解.但看完后有没有这样一种感觉,感觉这东西像是不错,但好像就是看不太懂,也不清楚该怎么使用.虽然偶有接触,但 ...
- checkbox 样式重写
css样式 .me-checkbox:checked { background: #1673ff } .me-checkbox { outline: none;/*轮廓*/ width: 25px; ...
- navicate 连接mysql8.0,个人踩坑问题汇总
navicate 连接mysql8.0,个人踩坑问题汇总本文目录:1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上2:mysql启动命令问题3:navicate 运程连接My ...
- sql 根据查询的记录生成序号的几种方式
row_number() order() 函数会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号. ra ...
- thinkphp论坛项目开发
效果图 首先是数据库 /* Navicat MySQL Data Transfer Source Server : xm Source Server Version : 50553 Source Ho ...
- linux服务基础之编译安装nginx
nginx源码下载地址: http://nginx.org/download/nginx-1.16.0.tar.gz //根据需要下载其他版本 1. 下载nginx # wget http://ngi ...
- gulp常用插件之del使用
更多gulp常用插件使用请访问:gulp常用插件汇总 del这是一款删除文件的工具. 更多使用文档请点击访问del工具官网. 安装 npm install del API del(patterns, ...