Puisque Python, R et Julia ont leurs propres atouts, je pense qu'il y a souvent des situations où vous voulez les utiliser en combinaison. Il est possible d'appeler du code directement, mais dans les situations d'analyse de données, il suffit souvent que des scripts séparés prennent en charge différentes étapes sans avoir à les combiner si étroitement. Par exemple, il est facile d'imaginer un cas où vous récupérez des données en Python, transformez l'analyse en multithreading dans Julia et effectuez une analyse statistique et une visualisation dans R.
Why Feather? Dans un tel cas, si vous enregistrez avec pickle en Python, bien sûr vous ne pouvez pas amener les données vers d'autres langages de programmation, par contre, l'enregistrement en CSV est lent ou il est difficile à analyser au moment de la lecture, etc. il y a. Cette fois, je présenterai brièvement le format Feather et comment l'utiliser, qui résout les problèmes de construction d'un tel flux de travail. Feather est un format léger pour le stockage de données, il peut être utilisé avec une simple API, il peut être librement déplacé entre les langages de programmation et il est rapide à lire et à écrire.
Selon Article de comparaison ici, Feather montre d'excellentes performances en termes de vitesse et de consommation de mémoire. Les performances réelles varient en fonction du type de données que vous stockez, mais elles sont faciles à utiliser de toute façon, donc cela vaut probablement la peine d'essayer.
** Le format plume ne prend pas en charge les étiquettes de ligne. Par conséquent, si vous donnez des étiquettes de ligne avec des pandas, vous devez faire df.reset_index ()
à l'avance. ** Je ne pense pas que R utilise des étiquettes de ligne du tout, et certains disent que ce n'est pas recommandé -of-a-dataframe-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)
Seulement ça. Je pense que c'est plus facile que CSV car vous pouvez lire et écrire dans n'importe quelle langue sans vous soucier des types et des en-têtes.
PS: Récemment, Feather V2 a été publié. Nous n'avons pas encore de paquet pour Julia, donc nous ne le couvrirons pas ici. Le contenu de cet article concerne Feather V1.
Recommended Posts