les pandas read_json: “Si l'aide de toutes les valeurs scalaires, vous devez passer un index”
J'ai quelques difficultés à l'importation d'un fichier JSON avec les pandas.
import pandas as pd
map_index_to_word = pd.read_json('people_wiki_map_index_to_word.json')
C'est l'erreur que j'obtiens:
ValueError: If using all scalar values, you must pass an index
La structure du fichier est simplifiée comme ceci:
{"biennials": 522004, "lb915": 116290, "shatzky": 127647, "woode": 174106, "damfunk": 133206, "nualart": 153444, "hatefillot": 164111, "missionborn": 261765, "yeardescribed": 161075, "theoryhe": 521685}
C'est à partir de la machine en cours d'apprentissage de l'Université de Washington sur Coursera. Vous pouvez trouver le fichier ici.
C'est beaucoup plus un pandas question qu'il JSON question -- vous n'auriez pas cette erreur spécifique dans un contexte qui ne pas impliquer les pandas, mais vous obtenir cette erreur sans JSON.
Voir, par exemple, stackoverflow.com/questions/17839973/... -- une question avec la même erreur, mais pas de JSON impliqués.
regardez comme vous prenez la ML de cours d'Emily 🙂
Il s'attend à une liste. Donc, si vous faites ce genre de travail.
Voir, par exemple, stackoverflow.com/questions/17839973/... -- une question avec la même erreur, mais pas de JSON impliqués.
regardez comme vous prenez la ML de cours d'Emily 🙂
Il s'attend à une liste. Donc, si vous faites ce genre de travail.
pd.DataFrame([{"biennials": 522004, "lb915": 116290}])
.OriginalL'auteur Marco Fumagalli | 2016-07-14
Vous devez vous connecter pour publier un commentaire.
Essayer
Ce fichier contient uniquement des paires clé-valeur, où les valeurs sont des scalaires. Vous pouvez convertir en un dataframe avec
ser.to_frame('count')
.Vous pouvez aussi faire quelque chose comme ceci:
Maintenant des données est un dictionnaire. Vous pouvez le passer à un dataframe constructeur comme suit:
OriginalL'auteur ayhan
Vous pouvez faire comme @ayhan mention qui vous donnera une colonne de la base de format
Ou vous pouvez placer l'objet dans [ ] (source) comme indiqué ci-dessous pour vous donner un format de ligne qui sera pratique si vous êtes en charge plusieurs valeurs et rabotage sur l'utilisation de la matrice pour votre machine de modèles d'apprentissage.
OriginalL'auteur Adonis H.
Je pense que ce qui se passe est que les données en
est en cours de lecture comme un string au lieu d'un json
est en fait
Depuis une chaîne de caractères est un scalaire, il veut vous charger comme un json, vous devez la convertir en une dict qui est exactement ce que l'autre réponse est de faire
Le meilleur moyen est de faire un json charges sur la chaîne à convertir à une dict et de la charger dans les pandas
OriginalL'auteur Anant Gupta