[PYTHON] Verwenden Sie DataFrame in Java

Kennen Sie DataFrame?

DataFrame ist ein sehr nützliches Bibliotheksobjekt, das häufig beim Arbeiten mit Daten in Python- oder R-Sprache oder beim maschinellen Lernen verwendet wird. Es verfügt über verschiedene Funktionen zur Verarbeitung von Tabellendaten und zweidimensionalen Arraydaten. https://amalog.hateblo.jp/entry/kaggle-pandas-tips

Wie bequem es ist, dass es unverzichtbar ist, wenn 2D-Daten verwendet werden, z. B. Daten aus Excel oder CSV gleichzeitig lesen, eine beliebige Matrix eines 2D-Arrays extrahieren, Tabellen wie SQL-Operationen verknüpfen usw. Es ist ein Level, das nicht gemacht werden kann.

Bei Java gibt es jedoch keine Implementierung, die DataFrame entspricht. Daher kann ich nicht von DataFrame profitieren. Die Verarbeitung von Daten dauert einige Zeit und ich bin traurig über missbräuchliche Wörter (?). Warum ist es Python? Deshalb.

Morpheus data science framework

Dort gibt es jedoch einen Lichtstrahl. Das Morpheus Data Science Framework bietet (wahrscheinlich) äquivalente Funktionen zu diesem DataFrame. https://github.com/zavtech/morpheus-core

Versuchen wir es nach einem einfachen Beispiel.

Consider a dataset of motor vehicle characteristics accessible here. The code below loads this CSV data into a Morpheus DataFrame, filters the rows to only include those vehicles that have a power to weight ratio > 0.1 (where weight is converted into kilograms), then adds a column to record the relative efficiency between highway and city mileage (MPG), sorts the rows by this newly added column in descending order, and finally records this transformed result to a CSV file.

Wir werden Fahrzeugkenndaten verwenden (in diesem Beispiel). Laden Sie die CSV in Morpheus DataFrame, filtern Sie die Zeilen nach Leistungsgewichtsverhältnissen (PS) größer als 0,1 und fügen Sie eine Spalte für MPG-Verhältnisse zwischen Autobahn und Stadt hinzu. Sortieren Sie nach den hinzugefügten Spalten und geben Sie die Ergebnisse in eine CSV-Datei aus.

Beispielcode und Ausführungsergebnis

import com.zavtech.morpheus.frame.*;

public class MorpheusTester {

    public static void main(String[] args) {

        DataFrame.read().csv(options -> {
            options.setResource("http://zavtech.com/data/samples/cars93.csv");
            options.setExcludeColumnIndexes(0);
        }).rows().select(row -> {
            double weightKG = row.getDouble("Weight") * 0.453592d;
            double horsepower = row.getDouble("Horsepower");
            return horsepower / weightKG > 0.1d;
        }).cols().add("MPG(Highway/City)", Double.class, v -> {
            double cityMpg = v.row().getDouble("MPG.city");
            double highwayMpg = v.row().getDouble("MPG.highway");
            return highwayMpg / cityMpg;
        }).rows().sort(false, "MPG(Highway/City)").write().csv(options -> {
            options.setFile("./cars93m.csv");
            options.setTitle("DataFrame");
        });

    }
}

Da der Rückgabetyp der DataFrame-Typ ist, können Sie in der Methodenkette nacheinander csv (), select (), add (), sort () ausführen. Der Bereich um csv () ist sehr DataFrame-ähnlich.

DataFrame ist reich an Funktionen und es ist nicht einfach, die Gleichheit zu testen, aber ich konnte Vorgänge wie Zeilenextraktion, Spaltenaddition und Sortierung sehen.

Wenn Sie Daten mit Java verarbeiten, können Sie diese verwenden.

Recommended Posts

Verwenden Sie DataFrame in Java
Verwenden Sie Mean mit DataFrame
Fassadenmuster in Java
Singleton-Muster in Java
Fliegengewichtsmuster in Java
Verwenden Sie config.ini mit Python
Beobachtermuster in Java
Verwenden Sie Datumsangaben in Python
Iteratormuster in Java
Verwenden Sie Valgrind mit Python
Dekorationsmuster in Java
Verwenden Sie ujson in Anfragen
Verwenden Sie den Profiler in Python
Prototypmuster in Java
Proxy-Muster in Java
Mal sehen, wie def in Python verwendet wird
Verwenden Sie den let-Ausdruck in Python
Verwenden Sie Anaconda in einer Pyenv-Umgebung
Verwenden Sie die Rückruffunktion in Python
Verwenden Sie den Parameterspeicher in Python
Verwenden Sie den HTTP-Cache in Python
Verwenden Sie reguläre Ausdrücke in C.
Verwenden Sie in Python ein Diktat mit Listenschlüssel
Verwenden Sie Random Forest mit Python
Verwenden Sie Spyder von Python IDE
Muster der Vorlagenmethode in Java
Verwenden wir Juman ++ im Servermodus
-Lösung für bereits verwendete Adresse
Verwenden Sie <input type = "date"> mit Flask
Implementieren Sie einen tabellengesteuerten Test in Java
Signale in Java erkennen und verarbeiten.
Pandas / DataFrame-Tipps für den praktischen Gebrauch
Verwenden Sie die jinja2-Vorlage in einer Excel-Datei
Verwenden Sie Stoff wie in Python (Stoff3)
Verwendung von Klassen in Theano
Mock in Python-Wie man Mox benutzt
Verwenden Sie Watchdog (Watchmedo) in der testgetriebenen Entwicklung
Verwendung von SQLite in Python
Muster der Verantwortungskette in Java
Verwenden Sie rospy mit virtualenv in Python3
Verwenden Sie APIs, die nicht in Twython implementiert sind
Wie man MySQL mit Python benutzt
Verwenden Sie Python in pyenv mit NeoVim
Verwendung von ChemSpider in Python
Implementierte Blasensortierung in Java (BubbleSort)
Verwendung von PubChem mit Python
Verwenden Sie die django-debug-Symbolleiste in der VirtualBox / Vagrant-Umgebung
Verwenden Sie OpenCV mit Python 3 in Window
Verwendung berechneter Spalten in CASTable
Überlappende reguläre Ausdrücke in Python und Java
Verwenden Sie die in Sphinx-2.4 entwickelten Typfunktionen
Verwenden Sie print in Python2 lambda expression
Verwendung der in Pip 7.1 hinzugefügten Einschränkungsdatei
[Python] Datenrahmen in der VScode-Debug-Konsole anzeigen
Verwenden Sie in gunicorn (> = 19.2) max_requests_jitter zusammen mit max_requests
Verwenden Sie Tensorflow in einer wurzellosen Umgebung
Verwenden Sie einfach Ihre eigenen Funktionen in Python