Python将1-D数组转换为N-D数组

Python将1-D数组转换为N-D数组,python,Python,我是python新手,希望将数据从1-D数组更改为N-D数组。 请参见下面我的示例数据: a = array([['T-Shirts', '1 Piece'], ['Capris', 'Leggings', 'Skirts']], dtype=object) 我想得到如下数据: array([[['T-Shirts'], ['1 Piece']], [['Capris'], ['Leggings'], ['Skirts']]], dtype=object)

我是python新手,希望将数据从1-D数组更改为N-D数组。 请参见下面我的示例数据:

a = array([['T-Shirts', '1 Piece'],
           ['Capris', 'Leggings', 'Skirts']], dtype=object)
我想得到如下数据:

array([[['T-Shirts'], ['1 Piece']],
       [['Capris'], ['Leggings'], ['Skirts']]], dtype=object)

Numpy不支持锯齿状数组,这是您试图获得的输出。最好将数据移动到本地Python列表

a = [['T-Shirts,1 Piece'], ['Capris,Leggings,Skirts']]
out = [[[y] for y in x[0].split(',')] for x in a]
out

# returns:
[[['T-Shirts'], ['1 Piece']], [['Capris'], ['Leggings'], ['Skirts']]]

使用熊猫更容易:

import pandas as pd
# note: removed useless sublists
x = ['T-Shirts,1 Piece', 'Capris,Leggings,Skirts']
pd.Series(x).str.split(',', expand=True)
这就产生了:

          0         1       2
0  T-Shirts   1 Piece    None
1    Capris  Leggings  Skirts
设置 看起来您正在使用numpy包,因为您的代码具有
array(…)
dtype=…
格式。为了准备展示代码示例,我执行了以下命令:

import numpy as np
a = np.array([['T-Shirts', '1 Piece'], ['Capris', 'Leggings', 'Skirts']])
之后,当我进入时:

a
我得到这个结果(你的出发点):

期望输出 执行此命令时:

[[[x] for x in l] for l in a]
我得到这个结果:

[[['T-Shirts'], ['1 Piece']], [['Capris'], ['Leggings'], ['Skirts']]]
我运行的命令是Python列表理解。它用于制作带有for循环的列表。您可以阅读更多内容或通过搜索“python列表理解”

注意:我没有使用numpy进行转换。如果您想要与以前相同类型的列表,可以将代码放在
np.array()
中,如下所示:

np.array([[[x] for x in l] for l in a])
该命令的结果是:

array([[['T-Shirts'], ['1 Piece']], [['Capris'], ['Leggings'], ['Skirts']]], dtype=object)
奖金 另外,在旁注中,您可以执行以下操作:

[[x] for l in a for x in l]
得到这个:

[['T-Shirts'], ['1 Piece'], ['Capris'], ['Leggings'], ['Skirts']]

缺少一些引号?第一个代码块(
Skirts'
)上仍然缺少引号。建议您在将数据加载到Numpy数组之前组织数据,并确保它看起来像Python列表一样状态良好。我按照原始海报对此答案的评论添加了引号:。嗨,James,谢谢您的回复。对于我的输出,我希望['T-Shirts','1件']被分隔为['T-Shirts',['1件]@JohnZwinck他在使用Numpy,我相信,这就是他的数组的格式。嗨,Joseph,这正是我想要的。非常感谢!请你解释更多关于[[x]代表l在a中代表x在l中代表x]@RyanMa我添加了一些链接,你可以使用这些链接查找更多信息。
[['T-Shirts'], ['1 Piece'], ['Capris'], ['Leggings'], ['Skirts']]