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.
** 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 /).
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