关于熊猫数据框索引连接两个列表

时间:2019-07-31 11:40:53

标签: python pandas

我有两个列表,其中包含对同一文件的两个群集进行的预测。聚类不会顺序出现,因此我必须获取两个聚类的索引值并创建两个单独的列表。我为每个列表使用特定于集群的训练模型。但是经过预测,我无法按原始顺序合并列表。

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进行安排。

3 个答案:

答案 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