数据分析练习题

请依据下列要求写出代码。

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
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫RT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值