【发布时间】:2022-01-19 11:07:33
【问题描述】:
我有一个包含 100 行和 5 列的数组。我想将它们分组到单独的数组中,基于 在第 5 列中给出的数字上。第 5 列包含从 0 到 N (0, 1, 2, ...N) 的整数。
所以对于 N=2,第 5 列中的值将是 0、1、2
因此我想创建 3 个数组,其中行分别具有 0、1、2。
这里是 Python 中 N=3 的代码:
df_array_with_clusters=...
for i in range(len(df_array_with_clusters)):
if df_array_with_clusters[i, -1]== 0:
cluster_0[i,:] = df_array_with_clusters[i, :-1]
elif df_array_with_clusters[i, -1]== 1:
cluster_1[i,:] = df_array_with_clusters[i, :-1]
else:
cluster_2[i,:] = df_array_with_clusters[i, :-1]
谢谢
【问题讨论】:
-
你问的问题太抽象了。您是否只是在寻找人类可读的算法?数组如何有 100 行和 5 列?它是数组数组还是多维数组?如果您正在寻求代码方面的帮助,使用什么语言?
-
对不起,我正在寻找 python 的代码。这是一个 numpy 数组。当我有 N=3 时我做了一些事情,所以第 5 列中的数字是 0,1,2。我将发布上面的代码!谢谢
-
我已添加标签以帮助潜在专家找到此问题。我希望你能找到你的答案。我不擅长python。
-
这个问题不是很清楚。您能否添加一个示例输入以及您期望从中得到什么输出?
-
@NikolasSpiliopoulos 我已经编辑了答案以添加 NumPy 解决方案。如果我的回答解决了您的问题,请告诉我。
标签: python arrays numpy grouping