2017-10-17 9 views
-1

J'ai deux dictionnaires comme suit. Je peux convertir le premier en une base de données, mais le second donne une erreur. Pourquoi?python pandas convertir un dictionnaire en une base de données

d = {'id': ['CS2_056'], 'cost': [2], 'name': ['Tap']} 
df = pd.DataFrame(d) 
print(df) 

raw_data1 = { 
     'subject_id': 3, 
     'first_name': 4, 
     'last_name': 7} 
raw_data1 
dfz = pd.DataFrame(raw_data1) 
+0

Quel est le message d'erreur? Aussi, pourquoi avez-vous 'raw_data1' sur sa propre ligne, ne fait pas partie d'un' print' ou quoi que ce soit? – roganjosh

Répondre

3

Cela se produit car vous ne transmettez pas d'index, ce qui est requis lors de l'utilisation de valeurs scalaires. Donc, pour résoudre votre problème, vous feriez:

pd.DataFrame(raw_data1, index=[0])

+0

donc '[]' font toute la différence? serais-tu capable d'expliquer ce que signifie réellement index? J'ai regardé dans l'aide 'index: Index ou de type tableau Index à utiliser pour l'image résultante. Sera par défaut np.arange (n) si aucune information d'indexation partie des données d'entrée et aucun index fourni »mais ne comprenait pas beaucoup. Dans le cas du premier exemple, pourquoi ne lance-t-il pas l'erreur? – user2543622