练习篇(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学习(四)的更多相关文章

  1. Numpy学习四:numpy.power()用法

    numpy.power(n, x) 对数组n的元素分别求x次方.x可以是数字,也可以是数组,但是n和x的列数要相同.

  2. NumPy学习笔记 三 股票价格

    NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...

  3. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  4. NumPy学习笔记 一

    NumPy学习笔记 一 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  5. NumPy学习(让数据处理变简单)

    NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同 ...

  6. numpy 学习笔记

    numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...

  7. Numpy学习笔记(下篇)

    目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...

  8. Numpy学习笔记(上篇)

    目录 Numpy学习笔记(上篇) 一.Jupyter Notebook的基本使用 二.Jpuyter Notebook的魔法命令 1.%run 2.%timeit & %%timeit 3.% ...

  9. numpy学习总结

    Contents Numpy是一个用python实现的科学计算包,主要提供矩阵运算的功能,而矩阵运算在机器学习领域应用非常广泛,Numpy一般与Scrapy.matplotlib一起使用. Numpy ...

随机推荐

  1. spark基本概念整理

    app 基于spark的用户程序,包含了一个driver program和集群中多个executor driver和executor存在心跳机制确保存活3 --conf spark.executor. ...

  2. 浅析 .NET 中 AsyncLocal 的实现原理

    目录 前言 1.线程本地存储 2.AsyncLocal 实现 2.1.主体 AsyncLocal<T> 2.2.AsyncLocal<T> 在 ExecutionContext ...

  3. c# 关于抓取网页源码后中文显示乱码的原因分析和解决方法

    原因分析:首先,目前大多数网站为了提升网页浏览传输速率都会对网站内容在传输前进行压缩,最常用的是GZIP压缩解压解压算法,也是支持最广的一种. 因为网站传输时采用的是GZIP压缩传输,如果我们接受we ...

  4. Oracle实例占用超高CPU排查

    CPU主要功能:处理指令.执行操作.要求进行动作.控制时间.处理数据. 结合数据库实例CPU占用高,可能的原因是数据库在执行大量的操作(全表查询.大量排序等). 由于公司没有DBA,遇到数据库问题只能 ...

  5. Freefilesync-文件夹自动同步

    在企业的相关设置中,若两台物理机,主副之间需要做到文件同步,可以推荐使用Freefilesync作为自动同步设置 话不多说,直接搞机 开始设置好文件比对-点击红色漏斗设置(比较/同步) 点击确定 手动 ...

  6. Photoshop Elements2020强势来袭,教你三秒钟拯救闭眼照

    Photoshop Elements2020强势来袭,一系列的黑科技让设计师和路人都惊叹不已!若某人的闭眼成为一张集体照的败笔,那该如何挽回? 想要挽救闭眼照?听起来很高大上,很困难?不,Photos ...

  7. Luogu2040 | 打开所有的灯 (广搜+状压)

    题目背景 pmshz在玩一个益(ruo)智(zhi)的小游戏,目的是打开九盏灯所有的灯,这样的游戏难倒了pmshz... 题目描述 这个灯很奇(fan)怪(ren),点一下就会将这个灯和其周围四盏灯的 ...

  8. 使用resultMap实现高级结果映射

    使用resultMap实现高级结果映射 resultMap的属性: 1.属性 id:resultMap的唯一标识.type:resulMap的映射结果类型(一般为Java实体类).2.子节点 id:一 ...

  9. Java-算式填符号

    题目: 某批警察叔叔正在进行智力训练:1 2 3 4 5 6 7 8 9 = 110 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号).之间没有填入符号的数 ...

  10. springboot web - 启动(2) run()

    接上一篇 在创建 SpringApplication 之后, 调用了 run() 方法. public ConfigurableApplicationContext run(String... arg ...