Issue with matching keys of dictionary to index of a data frame
我有一个这样组织的
江户十一〔一〕号
埃多克斯1〔2〕
埃多克斯1〔3〕
然后我对它进行了一些计算,并创建了一个字典来存储结果:
江户十一〔四〕号
埃多克斯1〔5〕
1 2 3 4 5 6 7 8 9 10 | for k, count in product_combos.items(): k = list(k) if len(i)+1 == len(k) and count >= recommended_count: for product in i: if product in k: k.remove(product) if len(k) == 1: recommendation = k[0] recommended_count = count matches[transaction_id] = recommendation |
埃多克斯1〔6〕
我的问题是匹配字典的键应该是001002003004005等-对应于测试的索引001-100。
我的第二个问题是,我想在另一本词典(推荐)中填入键001-100。我希望通过匹配键值将匹配项中的值填充到此dict中。任何帮助都将不胜感激,谢谢!
因此,在使用Enumerate时,在for循环中,您的事务ID将只是一个整数。当你用它作为字典中的键时,它将显示为1而不是001。如果你真的想解决这个问题,你必须把它转换成一个字符串,所以不用这样做。
1 | matches[transaction_id]=recommendation |
做
1 | matches[str(transaction_id).zfill(3)]=recommendation |
号
或者你可以在索引上做一个for循环,比如
1 | for ind in df.index |
我不知道你的第二个问题是什么意思。要从事务ID创建空字典,只需执行以下操作
1 | dict.fromkeys(list(df.index)) |
。
正如这里指出的