【发布时间】:2022-06-17 04:16:25
【问题描述】:
我有一个循环,它将数据集中每一行的所有可能组合组合在一起。
A = []
for r in range(2,len(df.columns)+1):
for cols in itertools.combinations(df.columns, r ):
B = np.array(df[list(cols)])
A.append(B)
print(A)
输出是这个 3D 数组:
[array([['Alpha', 100],
['Alpha', 100],
['Alpha', 200]], dtype=object),
array([['Alpha', 'A1'],
['Alpha', 'A1'],
['Alpha', 'A2']], dtype=object),
array([[100, 'A1'],
[100, 'A1'],
[200, 'A2']], dtype=object),
array([['Alpha', 100, 'A1'],
['Alpha', 100, 'A1'],
['Alpha', 200, 'A2']], dtype=object)]
但它给了我一个 3d 数组。反正我可以把它变成一个二维数组吗?
像这样:
[
['Alpha', 100],['Alpha', 100],['Alpha', 200],
['Alpha', 'A1'],['Alpha', 'A1'],['Alpha', 'A2'],
[100, 'A1'],[100, 'A1'],[200, 'A2'],
['Alpha', 100, 'A1'], ['Alpha', 200, 'A2']
]
【问题讨论】:
-
这个术语是“扁平化”数组,有很多与此相关的问题。
标签: python arrays for-loop multidimensional-array