请依据下列要求写出代码。
import numpy as np
从1到10中随机选取10个数,构成一个长度为10的数组,选出其中的奇数。
a=np.random.randint(1,11,10);a[a%2==1]
# 练习
a = np.random.randint(1,11,10)
a[a%2==1]
array([3, 9, 9, 5, 3, 1])
从数组 a 中提取4 和 10 之间的所有项。a=np.array([7,2,10,2,7,4,9,4,9,8])答:(101
a=np.array([7,2,10,2,7,4,9,4,9,8]);a[(a>4)&(a<10)]
# 练习
a = np.array([7,2,10,2,7,4,9,4,9,8])
a[(a>4)&(a<10)]
array([7, 7, 9, 9, 8])
生成0到100,差为5的一个等差数列,然后将数据类型转化为整数。
a=np.linspace(0,100,21); a.astype(‘int32’)
# 方案一:
a = np.linspace(0,100,21)
print("type:",type(a[0])) # print(a.dtype)
b = a.astype('int32') # a.astype(np.int32)
print("type:",type(b[0]))
type: <class 'numpy.float64'>
type: <class 'numpy.int32'>
# 方案一:
a = np.arange(0,100,5)
print("type:",type(a[0]))
type: <class 'numpy.int32'>
从1到10中随机选取10个数,大于3和小于7的取负数。
a=np.random.randint(1,11,10);a[(a>3)&(a<7)]*=-1;a
a = np.random.randint(1,11,10)
a[(a>3)&(a<7)] *= -1
print(a)
[-6 7 7 -4 -4 -5 -4 10 1 3]
在数组[1, 2, 3, 4, 5]中相邻两个数字中间插入1个0。
a=[1,2,3,4,5];b=np.zeros(9,dtype=‘int’);b[::2]=a;b
a = np.arange(1,6).astype('int32')
b = np.zeros(len(a)*2 -1).astype('int32')
b[::2] = a
b
array([1, 0, 2, 0, 3, 0, 4, 0, 5])
从数组 a 中提取 4 和 9 之间的所有项。a=np.array([7,2,8,2,7,4,9,4,6,8])
a=np.array([7,2,8,2,7,4,9,4,6,8]);a[(a>4)&(a<9)]
a=np.array([7,2,8,2,7,4,9,4,6,8])
a[(a>4)&(a<9)]
array([7, 8, 7, 6, 8])
请依据下列要求写出代码。
从1到10中随机选取10个数,构成一个长度为10的数组,选出其中的偶数。
a=np.random.randint(1,11,10);a[a%2==0]
a=np.random.randint(1,11,10)
a[a%2==0]
array([6, 2, 2, 8, 4])
利用numpy库创建一个1到10的数组,然后逆序间隔1输出。
import numpy as np;a=np.array([1,2,3,4,5,6,7,8,9,10]);a[::-1]
import numpy as np;a=np.array([1,2,3,4,5,6,7,8,9,10])
a[::-1]
array([10, 9, 8, 7, 6, 5, 4, 3, 2, 1])
创建一个3x3x3的随机数组。
np.random.random((3,3,3))
np.random.random((3,3,3))
array([[[0.71900798, 0.20550237, 0.13500731],
[0.09399061, 0.583073 , 0.86478089],
[0.6214501 , 0.80099294, 0.25442358]],
[[0.49773214, 0.57116047, 0.18376135],
[0.69611285, 0.53215065, 0.04567048],
[0.31847422, 0.79271454, 0.85240191]],
[[0.60561701, 0.72562682, 0.49335312],
[0.25557628, 0.46453381, 0.9276558 ],
[0.69691974, 0.92942319, 0.34893691]]])
创建一个长度为16的全1数组,然后变成一个4×4的二维矩阵并转置。
a = np.ones(16).reshape(4,4)
a.T
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
从1到10中随机选取10个数,构成一个长度为10的数组,并将其排序。获取其最大值最小值,求和,求方差。
a=np.random.randint(1,11,10);a.sort();a.max();a.min();a.var()
a=np.random.randint(1,11,10)
a.sort(); print(a)
print(a.max(),
a.min(),
a.sum(),
a.var(),sep='\n')
[ 1 1 2 4 4 6 9 10 10 10]
10
1
57
13.01