别整天 “学妹/前女友”了,花2小时整理了Numpy测试习题100道,做个测验吧!(三)

简介: 别整天 “学妹/前女友”了,花2小时整理了Numpy测试习题100道,做个测验吧!(三)

28. 下面表达式的结果分别是什么? (★☆☆)

np.array(0) / np.array(0)                           nan
np.array(0) // np.array(0)                          0
np.array([np.nan]).astype(int).astype(float)        -2.14748365e+09


29. 如何从零位开始舍入浮点数组? (★☆☆)

(提示: np.uniform, np.copysign, np.ceil, np.abs)

# Author: Charles R Harris
Z = np.random.uniform(-10,+10,10)
print (np.copysign(np.ceil(np.abs(Z)), Z))



30. 如何找出两个数组公共的元素? (★☆☆)

(提示: np.intersect1d)


Z1 = np.random.randint(0, 10, 10)
Z2 = np.random.randint(0, 10, 10)
print (np.intersect1d(Z1, Z2))


31. 如何忽略所有的 numpy 警告(尽管不建议这么做)? (★☆☆)

(提示: np.seterr, np.errstate)


# Suicide mode on
defaults = np.seterr(all="ignore")
Z = np.ones(1) / 0
# Back to sanity
_ = np.seterr(**defaults)
# 另一个等价的方式, 使用上下文管理器(context manager)
with np.errstate(divide='ignore'):
    Z = np.ones(1) / 0


32. 下面的表达式是否为真? (★☆☆)

(提示: 虚数)


np.sqrt(-1) == np.emath.sqrt(-1)     Faslse


33. 如何获得昨天,今天和明天的日期? (★☆☆)

(提示: np.datetime64, np.timedelta64)

yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
today = np.datetime64('today', 'D')
tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')


34. 怎么获得所有与2016年7月的所有日期? (★★☆)

(提示: np.arange(dtype=datetime64[‘D’]))


Z = np.arange('2016-07', '2016-08', dtype='datetime64[D]')
print (Z)


35. 如何计算 ((A+B)*(-A/2)) (不使用中间变量)? (★★☆)

(提示: np.add(out=), np.negative(out=), np.multiply(out=), np.divide(out=))


A = np.ones(3) * 1
B = np.ones(3) * 1
C = np.ones(3) * 1
np.add(A, B, out=B)
np.divide(A, 2, out=A)
np.negative(A, out=A)
np.multiply(A, B, out=A)


36. 用5种不同的方法提取随机数组中的整数部分 (★★☆)

(提示: %, np.floor, np.ceil, astype, np.trunc)


Z = np.random.uniform(0, 10, 10)
print (Z - Z % 1)
print (np.floor(Z))
print (np.cell(Z)-1)
print (Z.astype(int))
print (np.trunc(Z))


37. 创建一个5x5的矩阵且每一行的值范围为从0到4 (★★☆)

(提示: np.arange)


Z = np.zeros((5, 5))
Z += np.arange(5)
print (Z)

38. 如何用一个生成10个整数的函数来构建数组 (★☆☆)

(提示: np.fromiter)


def generate():
    for x in range(10):
      yield x
Z = np.fromiter(generate(), dtype=float, count=-1)
print (Z)


39. 创建一个大小为10的向量, 值域为0到1,不包括0和1 (★★☆)

(提示: np.linspace)


Z = np.linspace(0, 1, 12, endpoint=True)[1: -1]
print (Z)


40. 创建一个大小为10的随机向量,并把它排序 (★★☆)

(提示: sort)


Z = np.random.random(10)
Z.sort()
print (Z)


41. 对一个小数组进行求和有没有办法比np.sum更快? (★★☆)

(提示: np.add.reduce)


# Author: Evgeni Burovski
Z = np.arange(10)
np.add.reduce(Z)
# np.add.reduce 是numpy.add模块中的一个ufunc(universal function)函数,C语言实现


相关文章
|
机器学习/深度学习 数据挖掘 测试技术
软件测试|Python科学计算神器numpy教程(十二)
软件测试|Python科学计算神器numpy教程(十二)
|
2月前
|
Python
numpy | 插入不定长字符数组测试OK
本文介绍了如何在numpy中创建和操作不定长字符数组,包括插入和截断操作的测试。
|
6月前
|
存储 C++ Python
学会使用 NumPy:基础、随机、ufunc 和练习测试
NumPy是Python的数值计算库,提供高效的多维数组对象`ndarray`和相关运算函数。它比Python列表快50倍,广泛用于数据科学,其中数组操作至关重要。要创建数组,可以使用`np.array()`。安装NumPy只需运行`pip install numpy`,导入时常用`import numpy as np`作为别名。要检查版本,使用`np.__version__`。
59 0
|
测试技术 数据处理 Python
软件测试|Python科学计算神器numpy教程(十)
软件测试|Python科学计算神器numpy教程(十)
|
测试技术 索引 Python
软件测试|Python科学计算神器numpy教程(七)
软件测试|Python科学计算神器numpy教程(七)
|
数据可视化 数据挖掘 测试技术
软件测试|Python科学计算神器numpy教程(三)
软件测试|Python科学计算神器numpy教程(三)
|
测试技术 Serverless Python
软件测试|Python科学计算神器numpy教程(十一)
软件测试|Python科学计算神器numpy教程(十一)
|
机器学习/深度学习 测试技术 数据处理
软件测试|Python科学计算神器numpy教程(九)
软件测试|Python科学计算神器numpy教程(九)
|
测试技术 数据处理 Python
软件测试|Python科学计算神器numpy教程(八)
软件测试|Python科学计算神器numpy教程(八)
|
数据挖掘 测试技术 Python
软件测试|Python科学计算神器numpy教程(六)
软件测试|Python科学计算神器numpy教程(六)
下一篇
无影云桌面