python数据处理作业7:随机生成一个3*3的整形数组,并将数组中的所有偶数替换为0

每日小语

人应尊敬他自己,并应自视能配得上最高尚的东西。——黑格尔

 gpt代码

import numpy as np

# 随机生成3x3的整型数组
data = np.random.randint(0, 10, size=(3, 3))

# 将数组中的所有偶数替换为0
data[data % 2 == 0] = 0

# 输出替换后的数组
print(data)

这个很好理解。

自己敲写

`data[data % 2 == 0] = 0` 这行代码使用了NumPy的向量化操作,将数组`data`中所有偶数元素替换为0。

- `data % 2 == 0`:这部分代码生成一个布尔型数组,其元素与`data`中对应位置的元素进行取余操作,判断是否等于0。结果是一个与`data`形状相同的布尔型数组,其中`True`表示对应位置的元素是偶数,而`False`表示是奇数。

- `data[data % 2 == 0]`:这部分代码使用布尔型数组作为索引,从原始数组`data`中选取所有满足条件(偶数)的元素,形成一个一维数组。

- `data[data % 2 == 0] = 0`:最后,将选取的偶数元素所在的位置在原始数组中进行赋值操作,将它们全部替换为0。

通过这样的操作,我们可以高效地对整个数组进行元素级别的替换,而无需使用显式的循环。这是NumPy的一个强大之处,因为它支持向量化操作,可以更快速、简洁地处理大规模数据。

这一块不懂,然后还有size的加的地方不熟悉,牢记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值