python数据类型,如R中的2d命名列表
Posted
技术标签:
【中文标题】python数据类型,如R中的2d命名列表【英文标题】:python datatype like 2d named list in R 【发布时间】:2022-01-16 21:31:30 【问题描述】:我现在正在将我的代码从 R 移植到 python。列表数据类型在 R 中有一个非常有用的属性,我想知道我是否可以在 python 中做同样的事情。 如果我有以下命名列表:
named_list <- list(
first_item = list(1, 2, 3),
second_item = list(4, 5, 6)
)
我可以用 purrr 库“转置”它。 (即使有巨大的数据集也非常快)
transposed_list <- purrr::transpose(.l = named_list)
并返回以下列表,它的第一维包含所有索引,第二维包含名称。
我们可以在 python 中使用字典或任何其他数据类型做类似的事情吗?
【问题讨论】:
这看起来像是zip
docs.python.org/3/library/functions.html#zip 的工作
【参考方案1】:
您可以使用zip 和*splat 对python 中的列表执行相同的操作
>>> list_ = [[1,2,3],[4,5,6]]
>>> zip(*list_)
[(1, 4), (2, 5), (3, 6)]
请注意,您得到的是元组而不是列表。如果您需要这些列表,请使用map(list, zip(*l))
如果您愿意使用 numpy 而不是列表列表,那么使用 .T
属性会更容易:
>>> import numpy as np
>>> a = np.array([[1,2,3],[4,5,6]])
>>> print(*a)
[1 2 3] [4 5 6]
>>> print(*a.T)
[1 4] [2 5] [3 6]
【讨论】:
如果此答案对您有所帮助,请将其标记为已接受。干杯!以上是关于python数据类型,如R中的2d命名列表的主要内容,如果未能解决你的问题,请参考以下文章