2
对不起,如果这个问题已经回答过,但我似乎无法找到它。在Python字典中处理重复密钥
我有熊猫据帧像这样:
id | value1 | value2 | ... | valueN
1 | 321 | 44 | ... | 7766
2 | 5678 | 7638 | ... | 987423
2 | 0971 | 7638 | ... | 1
and so on...
我正确地加载它,我想要实现的是一个OrderedDict
如果需要的话,这将崩溃的双重价值。对于上面的例子,
输出词典应该是:
{1: ['321', '44', ..., '7766'], 2:['5678,0971', '7638', ..., '987423,1']}
注意,字典的值是list
和列表的值是strings
。
到目前为止我的代码是:
od = collections.OrderedDict()
for k in df.id:
if k in od:
# This key, pre-exists in this dictionary, so we have to append values
# what should I do here?
else:
# new value inserted. proceed.
od[k] = unordered_dict.get(k)
什么想法?
负载集合配钥匙,附加变量的值。就像你说的。继续写作,你走在正确的轨道上。 – DejaVuSansMono
如果密钥已存在于字典中,您应该使用'.extend()':'od [k] .extend(unordered_dict.get(k))将列表添加到现有的列表中。' – ozgur
@dejavusansmono我被困在这部分超过一个小时,这就是为什么我把它发布在这里:P – Mixalis