Python Numpy不平坦的列表列表
问题 我想创建一个列表的空列表,然后用每个包含3个元素的列表附加它Python Numpy不平坦的列表列表,python,numpy,Python,Numpy,问题 我想创建一个列表的空列表,然后用每个包含3个元素的列表附加它 rows = [['a', 'b', 'c'], ['c', 'b', 'a'], ..., ['a', 'c', 'b']] values = np.array([]) for row in rows: values = np.append(values, row) 问题在于,默认情况下,这些值被展平 解决方案尝试 我尝试使用“empty”和“ndarray”代替数组。此外,我还尝试设置了形状或数据类型,但值始终是
rows = [['a', 'b', 'c'], ['c', 'b', 'a'], ..., ['a', 'c', 'b']]
values = np.array([])
for row in rows:
values = np.append(values, row)
问题在于,默认情况下,这些值被展平
解决方案尝试
我尝试使用“empty”和“ndarray”代替数组。此外,我还尝试设置了形状或数据类型,但值始终是扁平的。使用列表附加而不是numpy附加
values = []
for row in rows:
values.append(row)
如果需要基于数据的numpy数组,请创建numpy数组:
values = np.array(rows)
这正是构造函数的要点。请分享一个行示例。它的形状是什么?如果你想要列表,不要使用NumPy。为什么要使用NumPy?你可以使用列表理解,[每行中每行的项目对应每行中的项目]你阅读了np.append文档吗?很明显,如果没有axis参数,它会使参数变平。但是为什么要迭代呢?为什么不使用np.arrayrows、np.vstackrows或np.stackrows?为什么不复制列表,或者更好地使用列表?