16 Stimmen

Julia Dataframes vs Python pandas

Ich verwende derzeit Python pandas und möchte wissen, ob es eine Möglichkeit gibt, die Daten von pandas in Julia Dataframes und umgekehrt auszugeben. (Ich glaube, man kann Python von Julia aus mit Pycall aufrufen, bin mir aber nicht sicher, ob es mit Dataframes funktioniert) Gibt es eine Möglichkeit, Julia von Python aus aufzurufen und es Pandas Datenframes aufnehmen zu lassen? (ohne sie in ein anderes Dateiformat wie csv zu speichern)

Wann wäre es vorteilhaft, Julia Dataframes statt Pandas zu verwenden, abgesehen von extrem großen Datensätzen und der Ausführung von Dingen mit vielen Schleifen (wie neuronale Netzwerke)?

6voto

ccsv Punkte 8279

Also gibt es eine Bibliothek, die dafür entwickelt wurde

PyJulia ist eine Bibliothek, die verwendet wird, um mit Julia mit Python 2 und 3 zu kommunizieren

https://github.com/JuliaLang/pyjulia

Es ist experimentell, funktioniert aber irgendwie

Zweitens hat Julia auch ein Frontend für pandas namens pandas.jl

https://github.com/malmaud/Pandas.jl

Es scheint nur eine Wrapper für pandas zu sein, aber Sie können möglicherweise mehrere Funktionen mithilfe der Parallelfunktionen von Julia ausführen.

Was besser ist, pandas hat bisher schnelleren I/O, laut dieser Lektüre csv in Julia ist langsam im Vergleich zu Python

1voto

Chase CB Punkte 1571

Ich bin ein Anfänger in dieser Art von Dingen, aber habe in letzter Zeit definitiv beide verwendet. Die Wahrheit ist, dass sie sehr vergleichbar scheinen, aber es gibt weit mehr Dokumentationen, Stack Overflow-Fragen usw. zu Pandas, also würde ich ihm einen leichten Vorteil geben. Lass dich jedoch nicht davon entmutigen, denn Julia hat einige erstaunliche Funktionen, die ich erst beginne zu verstehen. Bei großen Datensätzen, sagen wir über ein paar Gigabyte, sind beide Pakete ziemlich langsam, aber wieder scheint Pandas einen leichten Vorteil zu haben (meinen Benchmark würde ich keineswegs als endgültig betrachten). Ohne ein genaueres Verständnis davon, was du erreichen möchtest, ist es für mich schwer vorstellbar, unter welchen Umständen du überhaupt eine Pandas-Funktion aufrufen möchtest, während du mit einem Julia DataFrame arbeitest oder umgekehrt. Es sei denn, du machst etwas ziemlich cerebrales oder arbeitest mit wirklich großen Datensätzen, sehe ich keinen großen Fehler bei beiden. Wenn du sagst "die Daten ausgeben", was meinst du? Könntest du nicht das Pandas-Datenobjekt in eine Datei schreiben und dann diese Datei in einem Julia DataFrame öffnen/manipulieren (wie du erwähnst)? Wieder, es sei denn, du hast eine wirklich gute Maschine, das Einlesen von Gigabytes an Daten in Pandas oder einem Julia DataFrame ist mühsam und kann unverhältnismäßig langsam sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X