1. (2分)请利用sympy模块中的函数/方法求极限:
2. (3分)从正态分布N(5,5)中采样1000个样本,构建为一维数组。
① 计算数组的最大值、最小值、均值、标准差、三个四分位数(提示:numpy中有提供了相应函数)并保留3位小数格式化输出;
② 打印数组中的数据类型,并计算数组所占据的内存大小;
③ 将数组的数据类型转换为int32后再次计算内存大小。
3. (3分)从均匀分布U[-10,10)中采样,创建一个5*4的二维数组。
① 将数组中较大的2个与较小的2个数重新赋值为0;(若存在多个最大和最小值任取即可,共修改4个数);
② 统计数组中绝对值在 (4,6) 之间的数据个数。
4. (2分)定义一个普通的标量函数,其功能为计算数字字符串参数各位数字和,将此标量函数向量化,并创建一个元素为1~1000所有整数的ndarray数组进行测试。
题1:
from sympy import *
x = symbols('x')
y = limit(x * ln(sqrt(2) + 1 / x), x, +oo)
print(y)
题2:
import numpy as np
samples = np.random.normal(loc=5, scale=5, size=1000)
max_val = np.max(samples)
min_val = np.min(samples)
mean_val = np.mean(samples)
std_val = np.std(samples)
quartile_1 = np.percentile(samples, 25)
quartile_2 = np.percentile(samples, 50)
quartile_3 = np.percentile(samples, 75)
print("max value: {:.3f}".format(max_val))
print("min value: {:.3f}".format(min_val))
print("mean value: {:.3f}".format(mean_val))
print("standard deviation: {:.3f}".format(std_val))
print("1st quartile: {:.3f}".format(quartile_1))
print("2st quartile: {:.3f}".format(quartile_2))
print("3st quartile: {:.3f}".format(quartile_3))
print("Array data type: {}".format(samples.dtype))
print("Array size: {} bytes".format(samples.nbytes))
samples = samples.astype(np.int32)
print("New array size: {} bytes".format(samples.nbytes))
题3:
import numpy as np
array = np.random.uniform(-10, 10, (5, 4))
largest_indices = np.argpartition(array.flatten(), -2)[-2:]
smallest_indices = np.argpartition(array.flatten(), 2)[:2]
array[np.unravel_index(largest_indices, array.shape)] = 0
array[np.unravel_index(smallest_indices, array.shape)] = 0
count = np.sum((4 < np.abs(array)) & (np.abs(array) < 6))
print("Modified array:")
print(array)
print("Count of elements with absolute value between 4 and 6:", count)
题4:
import numpy as np
def sum_of_digits(s: str) -> int:
return sum(int(digit) for digit in s)
vectorized_sum_of_digits = np.vectorize(sum_of_digits)
array = np.arange(1, 1001)
result = vectorized_sum_of_digits(array.astype(str))
print("Resulting array:")
print(result)
每一次认真输出都值得记录!