numpy练习(一)

numpy练习(一)

创建一个 5x5 的二维数组,其中边界值为1,其余值为0
Z = np.ones((5,5))
Z[1:-1,1:-1] = 0
Z
使用数字 0 将一个全为 1 的 5x5 二维数组包围
import numpy as np
z = np.ones((5,5))
z = np.pad(z, pad_width=1, mode='constant',constant_values=0)
z
创建一个 5x5 的二维数组,并设置值 1, 2, 3, 4 落在其对角线下方
z = np.diag(1+np.arange(4),k=-1)
z
创建一个 10x10 的二维数组,并使得 1 和 0 沿对角线间隔放置
z = np.zeros((10,10),dtype=int)
z[1::2,::2] = 1
z[::2,1::2] = 1
z
创建一个 0-10 的一维数组,并将 (1, 9] 之间的数全部反转成负数
z = np.arange(11)
z[(1 < z) & (z <= 9)] *= -1
z
找出两个一维数组中相同的元素
z1 = np.random.randint(0,10,10)
z2 = np.random.randint(0,10,10)
print('z1:',z1)
print('z2:',z2)
np.intersect1d(z1,z2)
使用 NumPy 打印昨天、今天、明天的日期
yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
today = np.datetime64('today', 'D')
tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
print('yesterday:',yesterday)
print('today:',today)
print('tomorrow:',tomorrow)
使用五种不同的方法去提取一个随机数组的整数部分
z = np.random.uniform(0,10,10)
print('原始值:',z)
print('方法1:',z - z%1)
print('方法2:',np.floor(z))
print('方法3:',np.ceil(z)-1)
print('方法4:',z.astype(int))
print('方法5:',np.trunc(z))
创建一个 5x5 的矩阵,其中每行的数值范围从 1 到 5
z = np.zeros((5,5))
z += np.arange(1,6)
z
创建一个长度为 5 的等间隔一维数组,其值域范围从 0 到 1,但是不包括 0 和 1
z = np.linspace(0,1,6,endpoint=False)[1:]
z
创建一个长度为10的随机一维数组,并将其按升序排序
z = np.random.random(10)
z.sort()
z
创建一个 3x3 的二维数组,并将列按升序排序
z = np.array([[7,4,3],[3,1,2],[4,2,6]])
print('原始数组:\n', z)
z.sort(axis=0)
z
创建一个长度为 5 的一维数组,并将其中最大值替换成 0
z = np.random.random(5)
print('原数组:', z)
z[z.argmax()] = 0
z
打印每个 NumPy 标量类型的最小值和最大值
for dtype in [np.int8, np.int32, np.int64]:
   print("The minimum value of {}: ".format(dtype), np.iinfo(dtype).min)
   print("The maximum value of {}: ".format(dtype),np.iinfo(dtype).max)
for dtype in [np.float32, np.float64]:
   print("The minimum value of {}: ".format(dtype),np.finfo(dtype).min)
   print("The maximum value of {}: ".format(dtype),np.finfo(dtype).max)
float32 转换为整型
z = np.arange(10, dtype=np.float32)
print(z)
z = z.astype(np.int32,copy=False)
z
将随机二维数组按照第 3 列从上到下进行升序排列
z = np.random.randint(0,10,(5,5))
print('排序前:\n',z)
z[z[:,2].argsort()]
从随机一维数组中找出距离给定数值(0.5)最近的数
z = np.random.uniform(0,1,20)
print('random array: \n',z)
z1 = 0.5
m = z.flat[np.abs(z - z1).argmin()]
m
将二维数组的前两行进行顺序交换
z = np.arange(25).reshape(5,5)
print(z)
z[[0,1]] = z[[1,0]]
print(z)
找出随机一维数组中出现频率最高的值
z = np.random.randint(0,10,50)
print('随机一维数组:',z)
np.bincount(z).argmax()
找出给定一维数组中非 0 元素的位置索引
z = np.nonzero([1,0,2,0,3,0,4,0])
z
对于给定的 5x5 二维数组,在其内部随机放置 p 个值为 1 的数
p = 4
z = np.zeros((5,5))
np.put(z, np.random.choice(range(5*5), p, replace=False),1)
z
对于随机的 3x3 二维数组,减去数组每一行的平均值
x = np.random.rand(3,3)
print(x)
y = x - x.mean(axis=1,keepdims=True)
y
获得二维数组点积结果的对角线数组
z1 = np.random.uniform(0,1,(3,3))
z2 = np.random.uniform(0,1,(3,3))
print(np.dot(z1, z2))
#np.diag(np.dot(z1, z2))
np.sum(z1 * z2.T, axis=1)
找到随机一维数组中前 p 个最大值
z = np.random.randint(0,100,100)
print(z)
p = 5
z[np.argsort(z)[-p:]]
计算随机一维数组中每个元素的 4 次方数值
z = np.random.randint(2,5,5)
print(x)
np.power(x,4)
  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Sweeney Chen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值