pandas read_json:“如果使用所有标量值,则必须传递索引”(pandas read_json: "If using all scalar values, you must pass an index")
问题:
label_map = pd.read_json('../input/cassava-leaf-disease-classification/label_num_to_disease_map.json',
orient='index')
This is the error that I get:
ValueError: If using all scalar values, you must pass an index
The file structure is simplified like this:
{"0": "Cassava Bacterial Blight (CBB)", "1": "Cassava Brown Streak Disease (CBSD)", "2": "Cassava Green Mottle (CGM)", "3": "Cassava Mosaic Disease (CMD)", "4": "Healthy"}
解决:
label_map = pd.read_json('../input/cassava-leaf-disease-classification/label_num_to_disease_map.json',
typ='series')
或:
import json
with open('../input/cassava-leaf-disease-classification/label_num_to_disease_map.json', 'r') as f:
data = json.load(f)
但是我觉得解决方案的采取,还取决于你后续程序代码,不要牵一发而动全身,我觉得是得不偿失的。我的程序中采用上述两种方案可以避免这个bug,但是也导致了我后续程序的错误。
最有趣的是,我在把pandas更新到最新版本后,原来的代码就可以使用了。。。。。