Speichern von Dataframe mit Array-Einträgen

Ich habe einen Pandas DataFrame mit der folgenden Struktur, die sowohl Zahlen und numpy Arrays der festen Form enthält:

import pandas as pd import numpy as np df = pd.DataFrame({"num":(23, 42), "list":(np.arange(3), np.arange(1,4)) 

Angenommen, ich habe große (mehr als 1 GB) Beträge dieser Daten, die ich gerne speichern und schnell abholen möchte, wie soll ich gehen, um es zu speichern? Wenn ich HDF5 verwende, wird das Numpy Array gebeizt, was die Fähigkeit beeinflusst, die Daten schnell abzurufen. Gibt es eine Möglichkeit, HDF5 zu erzählen, wie man Numpy Arrays speichert? Alternativ soll ich eigentlich gar keine HDF5 verwenden?

Der folgende GitHub-Thread scheint folgendes vorzuschlagen:

  1. Erstellen Sie eine Funktion, die das gewünschte Numpy-Array erhält, das in einem anderen Format gespeichert ist [1]
  2. Erstellen Sie eine Klasse, um HDF5 zu informieren [2]

Beide Lösungen scheinen seltsam spezifisch für wie üblich ich mir dieses Problem vorstellen kann. Gibt es allgemeinere Ansätze? Bin ich nur das falsche Werkzeug?

One Solution collect form web for “Speichern von Dataframe mit Array-Einträgen”

Ich meine so etwas wie das:

 df_x = pd.concat([df.num, pd.DataFrame(np.vstack(df.list))], keys=["key", "arr"], axis=1) 

Das dataframe:

  key arr num 0 1 2 0 23 0 1 2 1 42 1 2 3 

Umwandlung mit:

 pd.concat([df_x.key, pd.Series(tuple(df_x.arr.values), name='list')], axis=1) num list 0 23 [0, 1, 2] 1 42 [1, 2, 3] 
  • Python menschlich lesbare Objekt Serialisierung
  • Django Rest Framework beschreibbare verschachtelte Serializer
  • Serialisierung ManyToMany in Django Rest Framework (2.3.5) wirft ValueError
  • Warum und wie verkürzt python numerische Daten?
  • Pickle Serialisierung Ordnung Mystery
  • Serialize C ++ - Objekt zum Senden über Sockets an Python - besten Ansatz?
  • Pickle error assert id (obj) nicht in self.memo
  • Wie man einen PHP serialisierten Datenstring in python liest / macht
  • Python: Wie kann ich den Objektzustand speichern und ihn wiederverwenden?
  • Wie bekomme ich eine zusätzliche Spalte in relationalem Modell in Django-Rest-Framework Serializer?
  • Wie kann ich faul mehrere JSON-Objekte aus einer Datei / Stream in Python lesen?
  • Python ist die beste Programmiersprache der Welt.