【发布时间】:2019-10-11 08:09:06
【问题描述】:
我有一个 1 到 100 的所有数字除以 10 的二维数组。每个数字的布尔值是素数还是非素数。我正在努力弄清楚如何将其可视化,如下图所示。
这是我的代码,可帮助您了解我的优势。
我想在网上把它想象成这张照片。
# excersize
is_prime = np.ones(100, dtype=bool) # array will be filled with Trues since 1 = True
# For each integer j starting from 2, cross out its higher multiples:
N_max = int(np.sqrt(len(is_prime) - 1))
for j in range(2, N_max + 1):
is_prime[2*j::j] = False
# split an array up into multiple sub arrays
split_primes = np.split(is_prime, 10);
# create overlay for numbers
num_overlay = np.arange(100)
split_overlay = np.split(num_overlay, 10)
plt.plot(split_overlay)
【问题讨论】:
-
@ImportanceOfBeingErnest 感谢您为我找到这个。我是全新的,目前正在关注 scipy.org 上的 scipy 讲座笔记。有很多东西要吸收,但这看起来正是我想要的。
-
@ImportanceOfBeingErnest 我很好奇你是否能帮助我了解如何创建一个包含所有数字 1 - 100 的二维数组,而不是先创建一个 1d 数组然后使用 np.split() 将其分成 10 个块?
-
np.arange(1, 101).reshape(10, 10)会给出一个 10 行中编号为 1 到 100 的二维数组。
标签: numpy matplotlib