问题解决:KeyError: ‘data‘

KeyError: 'data’

data = dicts['data']
    if is_random_label is False:
        label = np.array(dicts['labels'])
    else:
        labels = np.random.randint(low=0, high=10, size=10000)
        label = np.array(labels)
    return data, label

百度之后发现

b:bytes 
python3.x里默认的str是unicode, bytes是py2.x的str, b''前缀代表的就是bytes 
python2.x里, b前缀没什么具体意义,只是为了兼容python3.x的这种写法

所以这主要是因为python2与python3的问题,直接在’data’和’lable’前面加上b就好了

加完代码如下:

data = dicts[b'data']
    if is_random_label is False:
        label = np.array(dicts[b'labels'])
    else:
        labels = np.random.randint(low=0, high=10, size=10000)
        label = np.array(labels)
    return data, label

运行成功,完结撒花

引用\[1\]:根据你提供的引用内容,这个问题是因为在字典datadict中没有名为"data"的字段导致的。你通过debug发现,在key值"data"和"labels"的前面都有一个"b",所以你在访问这两个字段时加上了"b",即Y = datadict\[b'labels'\]和X = datadict\[b'data'\]。\[1\] 引用\[2\]:另外一个引用内容显示了一个类似的问题,即在使用官方给出的代码时出现了KeyError: 'data'。在这个代码段中,使用pickle.load()函数加载了一个文件,但是在访问datadict字典中的"data"字段时出现了错误。\[2\] 引用\[3\]:最后一个引用内容提到了一个类似的问题,即KeyError: 'data'。通过在CSDN上查找原因,发现问题是由于对DataFrame使用dropna()方法时没有对index进行处理导致的。\[3\] 综上所述,这个问题是由于在访问字典DataFrame中的"data"字段时出现了KeyError: 'data'的错误。可能的解决方法包括检查字段名是否正确、确认数据是否存在以及处理index列等。 #### 引用[.reference_title] - *1* *2* [KeyError: 'data'](https://blog.csdn.net/kejizuiqianfang/article/details/81625067)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [DataFrame的 raise KeyError(key) from err 报错](https://blog.csdn.net/Max_Han6/article/details/128510937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fomharun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值