Échangez facilement des données entre Python, R et Julia à l'aide du format Feather

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.

Mise en garde

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

Code de lecture / écriture au format plume

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

Échangez facilement des données entre Python, R et Julia à l'aide du format Feather
Communication de données chiffrées entre Python et C #
Hashing de données en R et Python
Représentez facilement des données graphiques dans le shell et Python
Résumé des différences entre PHP et Python
La réponse de "1/2" est différente entre python2 et 3
Exécuter du SQL brut avec redash à l'aide de la source de données Python et afficher le résultat
[Python] Mémo de conversion entre les données temporelles et les données numériques
À propos de la différence entre "==" et "is" en python
Résolution du modèle Lorenz 96 avec Julia et Python
Envoyez et recevez Gmail via l'API Gmail en utilisant Python
Écrire des données dans KINTONE à l'aide du module de requêtes Python
J'ai examiné le mappage de données entre ArangoDB et Java
Étudiez l'échange de données Java et Python avec Apache Arrow
Comprendre l'état de la perte de données - Python vs R
Nettoyage des données à l'aide de Python
Je veux absorber la différence entre l'instruction for sur la matrice Python + numpy et l'instruction Julia for
[Python3] Mettre en forme la chaîne de caractères en utilisant le nom de la variable comme clé
Essayez d'utiliser l'API Twitter rapidement et facilement avec Python
Visualisez l'activité des plantes depuis l'espace à l'aide de données satellites et de Python
Obtenez le type MIME en Python et déterminez le format de fichier
Différentes façons de calculer la similitude entre les données avec python
Résolvez le livre en spirale (algorithme et structure de données) avec python!
Créer un environnement Python et transférer des données vers le serveur
Graphique des données de séries chronologiques en Python à l'aide de pandas et matplotlib
[Python] J'ai essayé de collecter des données en utilisant l'API de wikipedia
J'ai essayé d'énumérer les différences entre java et python
[Python] Extraction / combinaison de données aléatoires à partir de DataFrame en utilisant random et pandas
Formatez facilement JSON avec Python
Indentation Python et format de chaîne
[Python 2/3] Analyser la chaîne de format
Analyse de données à l'aide de pandas python
Fonctionne avec Python et R
Livres et sources recommandés de programmation d'analyse de données (Python ou R)
Collectez des informations sur les produits et traitez les données à l'aide de l'API de recherche de produits Rakuten [Python]
Obtenez et définissez la valeur du menu déroulant en utilisant Python et Selenium