Python实现DataFrame转两个指定格式字典并解决TypeError报错
错误原因
你触发报错的原因有两个:
DataFrame.to_dict()默认返回格式为{列名: {行索引: 对应值}}的嵌套字典,你取到的dictionaryObject["Name"]是字典类型,字典不支持切片[:]操作,所以触发TypeError- 你的DataFrame列名是
Name,代码里写的dictionaryObject["image"]会额外触发KeyError问题
目标字典实现方案
1. 生成存储图片名称的字典
不需要先转整个DataFrame为字典,直接提取Name列转为列表即可:
name_dict = {"train": dataLabel["Name"].tolist()}
运行后name_dict就是你需要的{'train': ['img0001.jpg', 'img0002.jpg', 'img0005.jpg']}格式。
2. 生成标签映射字典
将Name列设为索引后提取Label列,直接调用to_dict()即可一步生成目标结构:
label_dict = dataLabel.set_index("Name")["Label"].to_dict()
运行后label_dict就是{'img0001.jpg': 0, 'img0002.jpg': 3, 'img0005.jpg': 7}的格式。
内容的提问来源于stack exchange,提问作者Bia
相关产品推荐
相关产品推荐

