首页 > 解决方案 > 无法将数据框转换为字典以供查看

问题描述

我是新手,我正在尝试将此包含 2 列(大约 160,000 条记录)的文本文件转换为字典,因此当搜索 1 个 ID 时,它会显示所有 5 个相应的描述。我尝试仅使用数据框执行此操作,但它会打印所有记录,而且也打印了 5 次。此外,一些 ID 比其他 ID 短,对于那些它给出错误。有人告诉我将其转换为字典,但我一直在尝试了解字典,但似乎无法理解其中的所有元素,例如键等等。

Image_ID 说明

(为了更好地理解,这里有一大块数据) 样本数据 这是我正在处理的数据的一个例子。每个 ID 附有 5 张 jpg 和说明。我想要它,所以当输入一次 ID 时,会打印所有 5 个相应的描述。我当前的代码也附在这里。

import pandas as pd
df = pd.read_csv('results.txt', delimiter="\t")
#print(df)
imageid = input('Enter the ID: ')
for i in range(5):
    imageid_combined = imageid+'.jpg#'+str(i)
    print(df['Description'].where(df['Image_ID'] == 
str(imageid_combined)))

标签: pythonpandasdataframedictionary

解决方案


尝试:

import pandas as pd

a = [1, 1, 1, 2, 3, 4, 6]
b = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
df = pd.DataFrame({'A': a, 'B': b})

df.groupby('A')['B'].apply(list).to_dict()

这将输出:

{1: ['a', 'b', 'c'], 2: ['d'], 3: ['e'], 4: ['f'], 6: ['g']}

推荐阅读