Bearbeiten von Daten in Python-try mit Pandas_plyr

Datenmanipulationsmethode im Allgemeinen Pandas

Ich habe diesen Artikel schon einmal geschrieben

◆ Grundlegende Liste der zusammenfassenden Methoden der Datenoperationen in Python Pandas http://qiita.com/hik0107/items/d991cc44c2d1778bb82e

Bei der Bearbeitung von Daten mit Pandas ist die oben beschriebene Methode üblich: Möglicherweise ist der Code etwas redundant oder unlesbar.

Ich möchte ein Paket namens "pandas_ply" für solche Leute vorstellen. Es wird besonders für diejenigen empfohlen, die Dplyr verwendet haben, da es Daten in einer Notation ähnlich der von Dplyr von R verarbeiten kann.

Selbst wenn Sie es noch nie benutzt haben, denke ich, dass es einfacher zu benutzen ist als die einheimischen Pandas. Bitte versuchen Sie es auf jeden Fall.

Starten Sie Pandas_ply

◆ pandas_ply-Paket https://pypi.python.org/pypi/pandas-ply

Installieren Sie pandas_ply

pip install pandas_ply

Paketvorbereitung

setup.py


import pandas as pd
from pandas_ply import install_ply, X, sym_call

install_ply(pd)

Wenn Sie pandas und dann install_ply von pandas_ply aus aufrufen, Es ist eine Spezifikation, dass die Methode von pandas_ply Pandas gegeben wird

Sie sind jetzt bereit.

Eigentlich verwenden

Klicken Sie hier für eine detaillierte Verwendung (Englisch) http://pythonhosted.org/pandas-ply/

Ich werde dies für die Daten verwenden. Es sind berühmte Daten für Kaggle. titanic - train.csv https://www.kaggle.com/c/titanic/data

load.py


csv_path = "/files_dir/train.csv" ##Geben Sie den Speicherort der CSV-Datei an
data = pd.read_csv(csv_path, delimiter=",")

##Leicht zu erkennende Daten: Erforderlich für neue Datensätze
print data.head(10)
print data.shape
data.describe()
print data.columns

Datenauswahl ply_select

Sie können auf die Spalte mit "Spaltenname" oder X.Spaltenname zugreifen. Erstellen Sie außerdem eine neue Spalte (mutate-ähnliche Verwendung in Dplyr).

select.py


data.ply_select("Name", "Age",
                gender = X.Sex,  ##Sie können den Spaltennamen ändern
                is_adult = (X.Age >= 20)  ##Es können auch neue Spalten definiert werden
                )

Datenauswahl ply_where

Verwenden Sie ply_where, wenn Sie nur Daten unterteilen möchten, die bestimmte Bedingungen erfüllen

where.py


data.ply_where(X.Age>10, 
               X.Sex == "male",
               X.Embarked == "S"
               )  #Es werden nur Daten ausgewählt, die alle Bedingungen mit Und erfüllen

Wenn Sie dasselbe auf Pandas 'native Weise schreiben, sieht es so aus:

where_equivalent.py


data.query(" Age>10 & Sex=='male' & Embarked == 'S' ") 
##Die Zeichenketten sind durcheinander und etwas verwirrend

data.ix[(data.Age>10) & (data.Sex =='male') & (data.Embarked=='S')] 
##Sie müssen den df-Namen viele Male schreiben

Ich denke, es gibt individuelle Geschmäcker, aber ich denke, dass pandas_ply relativ lesbar ist.

Flag hinzufügen - in diesem Fall ist es möglicherweise besser, apply zu verwenden

Ich habe oben die Methode zum Hinzufügen einer neuen Spalte (ply_select) geschrieben. Wenn Sie unter komplizierten Bedingungen eine neue Spalte generieren möchten, ist es besser, die Apply-Methode von Pandas gehorsam zu verwenden. Es kann gut sein.

Zum Beispiel, wenn Sie der Spalte "Demografisch" ein neues Attribut hinzufügen möchten, indem Sie Alter und Geschlecht in den obigen Daten verwenden Rufen Sie wie folgt an. Seien Sie versichert, dass die neuen Bedingungen für die Spaltengenerierung weiterhin als Funktion leicht zu erkennen sind.

apply.py


def add_demographic(data_input):
    if data_input.Age >=20:
        demo = "adut_m" if data_input.Sex == "male" else "adult_f"
    else:
        demo = "boy_and_girl"
    
    return demo

data.ix[ : , "Demographic"] = data.apply(add_demographic, axis=1)

Am Ende

pandas_ply scheint ein Paket zu sein, das sich in der Entwicklung befindet. Verwenden Sie es daher systematisch. Dieses Paket enthält nicht viele Informationen. Bitte kommentieren Sie, wenn Sie damit vertraut sind.

Recommended Posts

Bearbeiten von Daten in Python-try mit Pandas_plyr
PySpark-Datenmanipulation
Abtastung in unausgeglichenen Daten
Datumsmanipulation in Python
Datenmanipulation mit Pandas!
Grundlegende Zusammenfassung der Datenoperationen in Python Pandas - Zweite Hälfte: Datenaggregation
Behandeln Sie Umgebungsdaten in Python
Zeigen Sie UTM-30LX-Daten in Python an
Schreiben Sie Daten im HDF-Format
Datumsmanipulation von Strings in Python
Holen Sie sich LeapMotion-Daten in Python.
[Übersetzung] scicit-learn 0.18 Tutorial Manipulation von Textdaten
Exportieren Sie DB-Daten im JSON-Format
Bildpixel-Manipulation in Python
Manipulation des Datei- / Ordnerpfads in Python
Lesen Sie die Protokollpufferdaten mit Python3
Behandeln Sie Daten im NetCDF-Format mit Python
Datenvisualisierung in Python-Draw Cool Heatmaps
RSS-Daten in Zabbix speichern (Zabbix-Absender)
Versuchen Sie, Daten in MongoDB abzulegen
Datenvorhersagewettbewerb in 3 Schritten (titanisch)
Hashing von Daten in R und Python
Maschinelles Lernen in Delemas (Datenerfassung)
Überprüfen Sie die Datenzusammenfassung in CASTable
Vorverarbeitung beim maschinellen Lernen 2 Datenerfassung
Vorverarbeitung beim maschinellen Lernen 4 Datenkonvertierung