【发布时间】:2021-12-04 08:53:26
【问题描述】:
上下文:
我从一个包含 20 多种车型的汽车数据框开始。然后我创建了一个包含每个模型出现次数的数组。现在我试图将出现次数少于 500 次的模型与出现 => 500 次的模型分离到两个不同的二维数组中。
我的代码:
unique_models, count_of_models = np.unique(my_data_frame["model"],
return_counts=True)
print(unique_models, count_of_models)
[' A1' ' A2' ' A3' ' A4' ' A5' ' A6' ' A7' ' A8' ' Q2' ' Q3' ' Q5' ' Q7' ' Q8' ' R8'
' RS3' ' RS4' ' RS5' ' RS6' ' RS7' ' S3' ' S4' ' S5' ' S8' ' SQ5' ' SQ7' ' TT']
[1347 1 1929 1381 882 748 122 118 822 1417 877 397 69 28 33 31
29 39 1 18 12 3 4 16 8 336]
representative_models = np.empty((0, 2), int)
other_models = np.empty((0, 2), int)
for models in unique_models:
for counts in count_of_models:
if counts < 500:
other_models = np.append(other_models, np.array([[models, counts]]), axis=0)
else:
representative_models = np.append(other_models, np.array([[models, counts]]), axis=0)
unique_models += 1
一切正常,除了一件小事。不知何故,unique_models += 1 增量不起作用,第二个 for 循环将继续使用相同的 unique_model 但增加其计数。
我想要回到第一个循环,增加模型,然后进入第二个循环并增加计数。
希望这足够清楚,谢谢:)
【问题讨论】:
标签: python arrays numpy for-loop multidimensional-array