Einfacher Datenaustausch zwischen Python, R und Julia im Feather-Format

Da Python, R und Julia ihre eigenen Stärken haben, gibt es meiner Meinung nach häufig Situationen, in denen Sie sie in Kombination verwenden möchten. Es gibt die Möglichkeit, Code direkt aufzurufen, aber in Datenanalysesituationen reicht es oft aus, wenn separate Skripte verschiedene Schritte ausführen, ohne sie so eng kombinieren zu müssen. Zum Beispiel ist es leicht vorstellbar, dass Sie mit Python Daten kratzen, mit Julia eine Analyse in Multithreading umwandeln und mit R statistische Analysen und Visualisierungen durchführen.

Why Feather? Wenn Sie es in einem solchen Fall mit pickle in Python speichern, können Sie die Daten natürlich nicht in andere Programmiersprachen übertragen. Andererseits ist das Speichern in CSV langsam oder es ist schwierig, es beim Lesen usw. zu wiederholen. es gibt. Dieses Mal werde ich kurz das Federformat vorstellen, das die Probleme beim Erstellen eines solchen Workflows und dessen Verwendung löst. Feather ist ein leichtes Format für die Datenspeicherung, es kann mit einer einfachen API verwendet werden, es kann frei zwischen Programmiersprachen verschoben werden und es ist schnell zu lesen und zu schreiben.

Laut Vergleichsartikel hier zeigt Feather eine hervorragende Leistung in Bezug auf Geschwindigkeit und Speicherverbrauch. Die tatsächliche Leistung hängt davon ab, welche Art von Daten Sie speichern. Sie ist jedoch trotzdem einfach zu verwenden, sodass sich ein Versuch wahrscheinlich lohnt.

Hinweis

** Das Federformat unterstützt keine Zeilenbeschriftungen. Wenn Sie Zeilenbeschriftungen mit Pandas vergeben, müssen Sie daher im Voraus df.reset_index () ausführen. ** Ich glaube nicht, dass R Zeilenbeschriftungen verwendet, und einige sagen, dass dies nicht empfohlen wird -von-einem-Datenrahmen-in-R /).

Lese- / Schreibcode im Federformat

Python

python.py


import pandas as pd
import feather

# read
df = feather.read_dataframe("foobar.feather")

# write
feather.write_dataframe(df, "foobar.feather")

R

r.r


library(feather)

# read
df <- read_feather("foobar.feather")

# write
write_feather(df, "foobar.feather")

Julia

julia.jl


using DataFrames
using Feather

# read
df = Feather.read("foobar.feather")

# write
Feather.write("foobar.feather", df)

Nur das. Ich denke, es ist einfacher als CSV, weil Sie in jeder Sprache lesen und schreiben können, ohne sich um Typen und Überschriften kümmern zu müssen.

PS: Kürzlich wurde Feather V2 veröffentlicht. Wir haben noch kein Paket für Julia, daher werden wir es hier nicht behandeln. Der Inhalt dieses Artikels ist für Feather V1.

Recommended Posts

Einfacher Datenaustausch zwischen Python, R und Julia im Feather-Format
Kommunikation verschlüsselter Daten zwischen Python und C #
Hashing von Daten in R und Python
Zeichnen Sie Daten einfach in Shell und Python
Zusammenfassung der Unterschiede zwischen PHP und Python
Die Antwort von "1/2" unterscheidet sich zwischen Python2 und 3
Führen Sie Raw SQL mit Redash unter Verwendung der Python-Datenquelle aus und zeigen Sie das Ergebnis an
[Python] Konvertierungsnotiz zwischen Zeitdaten und numerischen Daten
Über den Unterschied zwischen "==" und "is" in Python
Lösen des Lorenz 96-Modells mit Julia und Python
Senden und empfangen Sie Google Mail über die Google Mail-API mit Python
Schreiben Sie Daten mit dem Python-Anforderungsmodul in KINTONE
Ich habe die Datenzuordnung zwischen ArangoDB und Java untersucht
Untersuchen Sie den Java- und Python-Datenaustausch mit Apache Arrow
Verstehen Sie den Status des Datenverlusts - Python vs. R.
Datenbereinigung mit Python
Ich möchte den Unterschied zwischen der for-Anweisung in der Python + numpy-Matrix und der Julia for-Anweisung auffangen
[Python3] Formatieren Sie die Zeichenfolge mit dem Variablennamen als Schlüssel
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Visualisieren Sie die Pflanzenaktivität aus dem Weltraum mithilfe von Satellitendaten und Python
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
Verschiedene Methoden zur Berechnung der Ähnlichkeit zwischen Daten mit Python
Löse das Spiralbuch (Algorithmus und Datenstruktur) mit Python!
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Zeichnen Sie Zeitreihendaten in Python mit Pandas und Matplotlib
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
[Python] Zufällige Datenextraktion / -kombination aus DataFrame mit Random und Pandas
Einfaches Formatieren von JSON mit Python
Python-Einzug und String-Format
[Python 2/3] Analysiert die Formatzeichenfolge
Datenanalyse mit Python-Pandas
Funktioniert mit Python und R.
Empfohlene Bücher und Quellen für die Datenanalyseprogrammierung (Python oder R)
Sammeln Sie Produktinformationen und Prozessdaten mit der Rakuten-Produktsuch-API [Python].
Rufen Sie den Wert des Dropdown-Menüs mit Python und Selen ab und legen Sie ihn fest