J'ai une fonction qui retourne un dictionnaire comme celui-ci:
{'truth': 185.179993, 'day1': 197.22307753038834, 'day2': 197.26118010160317, 'day3': 197.19846975345905, 'day4': 197.1490578795196, 'day5': 197.37179265011116}
J'essaye d'ajouter ce dictionnaire à une base de données comme ceci:
output = pd.DataFrame()
output.append(dictionary, ignore_index=True)
print(output.head())
Malheureusement, l’impression du cadre de données crée un cadre de données vide. Des idées?
Vous n'attribuez pas la valeur au résultat.
output = pd.DataFrame()
output = output.append(dictionary, ignore_index=True)
print(output.head())
Je ne sais pas ce que tu veux.
Mais si vous voulez lire ceci dict
comme le constructeur lirait un dict d'entrée, faites juste
pd.DataFrame([d])
qui est le même que
df.append([d]) # same as df.append(d, ignore_index=True)
Toutes ces sorties
day1 day2 day3 day4 day5 truth
0 197.223078 197.26118 197.19847 197.149058 197.371793 185.179993
Remarquerez que df.append
renvoie un nouveau cadre de données (par opposition à list.append
, qui change la liste sur place et retourne None
), vous devez donc la réaffecter à df
.
Si vous voulez que la cellule contienne ce dictionnaire, faites simplement
df = pd.DataFrame()
df['n'] = [d]
qui produirait
n
0 {'truth': 185.179993, 'day1': 197.223077530388...