当前位置: 首页 > 知识库问答 >
问题:

无法理解以下代码的输出:python列表到1-d numpy数组

钮巴英
2023-03-14

我试图创建一个python列表,将其转换为一个numpy数组,但得到了非常不直观的输出。当然,我做错了什么,但出于好奇,我想知道为什么我得到了这样一个输出。这是我的代码:

import numpy as np

# Exercise 2
a = [1, 5, 3, 6, 2]
b = np.ndarray(a)
print(b, b.dtype)

输出结果是

[[[[[0.00000000e+000 6.93284651e-310]
    [6.93284792e-310 6.93284744e-310]
    [6.93284744e-310 6.93284744e-310]
    [6.93284744e-310 6.93284744e-310]
    [6.93284744e-310 6.93284744e-310]
    [6.93284744e-310 6.93284744e-310]]

   [[6.93284744e-310 2.20882835e-314]
    [6.93284743e-310 6.93284743e-310]
    [6.93284743e-310 6.93284650e-310]
    [6.93284744e-310 6.93284744e-310]
    [6.93284744e-310 6.93284744e-310]
    [6.93284744e-310 6.93284744e-310]]

   ... (12 more blocks similar to ones above)

   [[6.93284871e-310 6.93284871e-310]
    [6.93284745e-310 6.93284871e-310]
    [6.93284651e-310 6.93284871e-310]
    [6.93284745e-310 6.93284871e-310]
    [6.93284871e-310 6.93284745e-310]
    [6.93284727e-310 6.93284871e-310]]]]] float64

共有3个答案

东方乐
2023-03-14

要从列表中创建数组,请使用:b=np。数组(a)<代码>np。ndarray是另一个numpy类,函数的第一个参数是数组的形状(因此数组的形状是b.shape)-

秦宏盛
2023-03-14

您已经创建了一个n维数组,其中n=5是所传递数组的长度(如本文所述,它构成了维度)。

你可能正在寻找:

np.array(a)

这些数字是0。

袁羽
2023-03-14

你创建了一个五维数组

a = [1, 5, 3, 6, 2]
b = np.ndarray(a)
print(b.shape)

给予

(1, 5, 3, 6, 2)

np.ndarray的第一个参数是数组的形状

b = np.array(a)
print(b)

这给了

[1 5 3 6 2]
 类似资料:
  • 我是Python初学者。我对Python中的正则表达式有所了解。例如:\d指的是匹配0个或更多的数字。 上面的表达式-第3行-在做什么?更具体地说,写有什么意义?

  • 这是代码。 输出是''

  • 我遇到了一些javascript。我不理解代码执行的流程。 我认为输出是'ap'然后'ap'。但我得到了'ple'和'ap'。这是怎么发生的?

  • 问题内容: 我正在尝试使用numpy中的arpgpartition,但似乎出了点问题,我似乎无法弄清楚。这是正在发生的事情: 这些是排序数组的前5个元素 但是当我使用 当我认为应该得到与排序数组相同的结果时? 当我使用3作为参数时,它可以正常工作 这对我来说没有多大意义,希望有人可以提供一些见解? 编辑:重新解释这个问题,因为argpartition是否保留k个分区元素的顺序更有意义。 问题答案:

  • 为什么我在输出中得到一个额外的1*1,这有点倒退?有点像递归初学者,希望得到详细的答案。 输出

  • 问题内容: 这是我第一次问问题,希望你们中的一些人有时间回答。 因此,我的目标是使用turtle模块编写一个python脚本来编写毕达哥拉斯树。 我已经花了几天时间,但确实无法超越某个特定点,因此我在网上寻找帮助。我找到了可以满足我的要求的代码,但是只包含很少的代码行: 因此,我理解大多数代码,但“ if”的第二和第三段除外:为什么要执行它们?如果函数不断重复自身,它将永远无法正常到达该点!我确定