我有两个列表,其中包含对同一文件的两个群集进行的预测。聚类不会顺序出现,因此我必须获取两个聚类的索引值并创建两个单独的列表。我为每个列表使用特定于集群的训练模型。但是经过预测,我无法按原始顺序合并列表。
df_A = df_A.loc[running_index_A.values]
df_B = df_B.loc[runnung_index_B.values]
pred_cluster_A = modelA.predict(df_A)
pred_cluster_B = modelB.predict(df_B)
现在,两个预测都应该相对于运行索引A和B进行安排。
答案 0 :(得分:0)
您可能想使用zip()函数来实现:
customer1.email
然后您可以在其上应用熊猫
gatherList = list(zip(pred_cluster_A,pred_cluster_B))
## returns someting like : [(clustA_val1,clustB_val1),(clustA_val2,clust_val2)]
答案 1 :(得分:0)
您可以加入索引列表和预测列表
index_sum = running_index_A.values + running_index_B.values
pred_sum = pred_cluster_A + pred_cluster_B
然后将它们链接到字典中
index_to_pred = dict(zip(index_sum, pred_sum))
,然后按键(即按索引)对字典进行排序
import operator
index_to_pred_sorted = sorted(index_to_pred.items(), , key=lambda kv: kv[0]) # returns list
答案 2 :(得分:0)
如果您以这种方式使用Series,则会按顺序对其进行排序:
import pandas as pd
s1 = pd.Series(['a', 'b'])
s2 = pd.Series(['c', 'd'])
result = pd.concat([s1, s2], ignore_index=True)
print(result)
# 0 a
1 b
2 c
3 d