关于python 3.x:将字典的匹配键与数据帧的索引匹配的问题

Issue with matching keys of dictionary to index of a data frame

我有一个这样组织的testing_df

江户十一〔一〕号

埃多克斯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))

正如这里指出的