如何创建一个二维数组,一列中有1到n,另一列中有0

2024-09-30 22:16:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试创建两个数组,然后将它们相加

array_nmax = np.arange (100)
array_zeros = np.zeros (100, dtype = np.int)
array_final = np.append (array_nmax,np.zeros, axis = 0)

但是它说它们的维数不一样,即使它们都应该是100乘1的数组。你知道吗


Tags: npzeros数组arrayfinalintdtypeappend
2条回答

也许是这样的?你知道吗

a = np.zeros((100, 10), dtype=np.int)
a[:, 0] = np.arange(0, 100)

比@GrigorisG的答案慢,可读性不强,但仍然是一个可能的解决方案:

np.arange(100)[:,None] * [1,0]

顺便说一下,你的解决方案有两个问题。第一个错误是,concatenate的第二个参数是函数np.zeros,而不是新创建的数组array_zeros。即使解决了这个问题,第二个问题是这两个数组将沿着它们的零维连接起来,结果将是一个(200,)形状的数组。您应该使用@Divakar建议的np.column_stack。你知道吗

相关问题 更多 >