当前位置: 首页 > 面试题库 >

将具有不同长度的列表列表转换为numpy数组

符风畔
2023-03-14
问题内容

我有不同长度的清单清单(例如[[1, 2, 3], [4, 5], [6, 7, 8, 9]]),并想将其转换成numpy整数数组。我了解numpy多维数组中的“子”数组必须具有相同的长度。那么将上述示例中的列表转换成这样的numpy数组[[1, 2, 3, 0], [4, 5, 0, 0], [6, 7, 8, 9]](即用零完成)的最有效方法是什么?


问题答案:

您可以使用np.zeros创建一个numpy数组,并用列表元素填充它们,如下所示。

a = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
import numpy as np
b = np.zeros([len(a),len(max(a,key = lambda x: len(x)))])
for i,j in enumerate(a):
    b[i][0:len(j)] = j

结果是

[[ 1.  2.  3.  0.]
 [ 4.  5.  0.  0.]
 [ 6.  7.  8.  9.]]


 类似资料:
  • 问题内容: 我使用一个外部模块(libsvm),该模块不支持numpy数组,仅支持元组,列表和字典。但是我的数据是二维二维数组。我如何以pythonic方式转换它,也就是没有循环。 问题答案: 您可以简单地将矩阵转换为,以证明:

  • 问题内容: 我有一本字典 我想将其转换为包含字典键的列表。每个密钥应重复与其关联值相同的次数。 我写了这段代码来完成这项工作: 输出: 但是我希望它能成为列表理解者。如何才能做到这一点? 问题答案: 您可以使用列表理解来做到这一点: 产量: 您可以再次对其进行排序以获得所需的列表。

  • 问题内容: 我有一个清单清单。每个子列表的长度在1到100之间。每个子列表在一组数据中的不同时间包含一个粒子ID。我想在给定的时间形成所有粒子ID的列表。为此,我可以使用以下方法: list2将包含list中每个子列表的首个元素。我不仅要对第一个元素执行此操作,还要对1到100之间的每个元素执行此操作。我的问题是,每个子列表都不存在元素号100(或66或77或其他)。 有什么方法可以创建列表列表,

  • 问题内容: 我已经编写了此函数,用于将元组列表转换为列表列表。有没有更优雅的/ Pythonic的方式来做到这一点? 问题答案: 您可以使用列表推导:

  • 我有2个对象ExpertJpa到ExpertDto的现有映射,需要另一个参数来过滤ExpertJpa。这个映射工作正常,现在我尝试将ExpertJpa列表转换为ExpertDto列表,我添加了第二个参数。 在构建时,我收到错误消息,即List是一个接口,不能是实例…… 错误:(53,18) java:返回类型java.util.List是一个抽象类或接口。提供非抽象/非接口结果类型或工厂方法。

  • 我有一个lambda表达式,我想在其中创建一个对象列表,但我得到了错误 错误 我希望作为lambda表达式的返回类型。我怎样才能做到呢?