python - 无法将数据框转换为字典以供查看
问题描述
我是新手,我正在尝试将此包含 2 列(大约 160,000 条记录)的文本文件转换为字典,因此当搜索 1 个 ID 时,它会显示所有 5 个相应的描述。我尝试仅使用数据框执行此操作,但它会打印所有记录,而且也打印了 5 次。此外,一些 ID 比其他 ID 短,对于那些它给出错误。有人告诉我将其转换为字典,但我一直在尝试了解字典,但似乎无法理解其中的所有元素,例如键等等。
Image_ID 说明
- 1000092795.jpg#0 两个头发蓬乱的年轻人在院子里闲逛时看着他们的手
- 1000092795.jpg#1 两个年轻的白人男性在外面许多灌木丛附近
- 1000092795.jpg#2 两个穿绿色衬衫的男人站在院子里
- 1000092795.jpg#3 一个穿着蓝色衬衫的男人站在花园里
- 1000092795.jpg#4 两个朋友享受在一起的时光
- 10002456.jpg#0 几个戴着安全帽的人正在操作一个巨大的滑轮系统
- 10002456.jpg#1 工人从上往下看设备
- 10002456.jpg#2 两个戴着安全帽在机器上工作的人
- 10002456.jpg#3 四个男人站在一座高大的建筑物上
- 10002456.jpg#4 大型钻机上的三个人
- 1000268201.jpg#0 一个穿着粉色连衣裙的孩子正从入口处爬上一组楼梯
- 1000268201.jpg#1 一个穿着粉色连衣裙的小女孩走进木屋
- 1000268201.jpg#2 一个小女孩爬楼梯到她的剧场
- 1000268201.jpg#3 一个小女孩爬进一个木制剧场
- 1000268201.jpg#4 走进木屋的女孩
- 1000344755.jpg#0 穿着蓝色衬衫和帽子的人站在楼梯上,靠在窗户上
- 1000344755.jpg#1 一个穿蓝色衬衫的男人站在梯子上擦窗户
- 1000344755.jpg#2 梯子上的男人正在清理高楼的窗户
- 1000344755.jpg#3 穿着蓝色衬衫和牛仔裤的男人在梯子上清洁窗户
- 1000344755.jpg#4 梯子上的男人正在擦窗户
(为了更好地理解,这里有一大块数据) 样本数据 这是我正在处理的数据的一个例子。每个 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)))
解决方案
尝试:
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']}
推荐阅读
- r - 在每次迭代或模拟期间将结果保存到 csv 或 excel 文件
- python - 如何删除额外的 XML 标签?
- c# - windows窗体刷新 - 我怎样才能使它更平滑?
- r - 将季度数据转换为月度数据并使用 R 合并
- python - 熊猫数据操作
- javascript - 如果没有用户对第一反应做出反应,Discord.js 反应收集器将失败。无法读取未定义的属性“计数”
- excel - 将 x 天数添加到开始日期但不包括假期?
- performance-testing - Jmeter 持续时间超出虽然是固定的
- elasticsearch - Elasticsearch 提升嵌套字段分数相关性查询
- android-studio - 警告“数据类”和“类”定义中的“缺少换行符”(kotlin 1.4.M1)