如何创建唯一密钥对词典的字典?

时间:2019-01-11 22:22:52

标签: python pandas

我有一个熊猫数据框,其列为IssuerIdSedol。在某些情况下,IssuerId相同,但是Sedol总是不同。

我想创建一个字典或多级索引来汇总这些内容,以便我可以轻松遍历它们。例如,我目前有:

IssuerID Sedol
1          1
1          2
2          3
3          4

我想以某种方式创建:

[{1: [1,2]},{2: 3},{3:4}]

2 个答案:

答案 0 :(得分:1)

如果您执行groupBy + apply(list)然后致电to_dict,则会得到:

d = df.groupby("IssuerID")["Sedol"].apply(list).to_dict()
print(d)
#{1: [1, 2], 2: [3], 3: [4]}

现在只需重新格式化d即可获得所需的输出。

如果您想要字典,请使用字典理解:

new_dict = {k: v if len(v) > 1 else v[0] for k, v in d.items()}
print(new_dict)
#{1: [1, 2], 2: 3, 3: 4}

如果您想要词典列表,请使用列表理解:

new_list = [{k: v if len(v) > 1 else v[0]} for k, v in d.items()]
print(new_list )
#[{1: [1, 2]}, {2: 3}, {3: 4}]

答案 1 :(得分:1)

使用Remove-AzureRmTag -Name "Department"

groupby