[PYTHON] Der Wert von meta beim Angeben einer Funktion ohne Rückgabewert mit Dask dataframe gilt

Installieren Sie vorher Dask

Eine der Möglichkeiten, parallele Berechnungen in Python durchzuführen, ist das Anwenden des Dask-Datenrahmens. (Der Google-Lehrer hat es mir gestern mitgeteilt.) Dask kann wie folgt mit pip installiert werden.

$ pip install dask 

Jetzt normal wie unten importieren, aber

import dask.dataframe as dd

Ich habe so einen Fehler bekommen

ModuleNotFoundError: No module named 'toolz'

Damit

$ pip install toolz

Immer noch

ImportError: fsspec is required to use any file-system functionality.

Während scharf

$ pip install fsspec

Nun, da es endlich einsatzbereit ist, gehen wir zum Hauptthema über.

Hauptthema

Ich habe den Pandas DataFrame in einen Dask-Datenrahmen konvertiert und dann versucht, eine Funktion ohne Rückgabewert auf die folgende Zeile anzuwenden:

import pandas as pd
import dask.dataframe as dd

#Eine Funktion, die die Summe der Werte in den Spalten A und B an die Standardausgabe ausgibt
def print_sum(pd_series):
    print(pd_series['A'] + pd_series['B'])

A = pd.DataFrame({'A': [1.0, 1.5, 2.0 ], 'B': [5.0, 2.0, 1.2]},index = [1,2,3])
A_dd = dd.from_pandas(A, npartitions=2)

A_dd.apply(print_sum, axis = 1).compute(scheduler='processes')

Wenn Sie es damit ausführen, erhalten Sie die folgende Warnung.

You did not provide metadata, so Dask is running your function on a small dataset to guess output types. It is possible that Dask will guess incorrectly.
To provide an explicit output types or to silence this message, please provide the `meta=` keyword, as described in the map or apply function that you are using.

Anscheinend müssen Sie angeben, welche Art von Datentyp die Funktion ".apply ()" im Argument "meta" zurückgibt. Es gibt jedoch keinen Rückgabewert ... C ++ Wenn Sie "void" ausführen Ich schreibe keine Python ...

Ich überprüfte! Es ist "Keine"!

import pandas as pd
import dask.dataframe as dd

#Eine Funktion, die die Summe der Werte in den Spalten A und B an die Standardausgabe ausgibt
def print_sum(pd_series):
    print(pd_series['A'] + pd_series['B'])

A = pd.DataFrame({'A': [1.0, 1.5, 2.0 ], 'B': [5.0, 2.0, 1.2]},index = [1,2,3])
A_dd = dd.from_pandas(A, npartitions=2)

A_dd.apply(print_sum, axis = 1, meta = 'None').compute(scheduler='processes') # meta = 'None'

Das ist die Lösung! Ich habe es lange geschrieben, aber das war's!

Recommended Posts

Der Wert von meta beim Angeben einer Funktion ohne Rückgabewert mit Dask dataframe gilt
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 2)
Holen Sie sich den Aufrufer einer Funktion in Python
So geben Sie mit Jupyter Notebook einen Wert in der Mitte einer Zelle aus
Dies ist ein Beispiel für eine Funktionsanwendung im Datenrahmen.
Wenn eine lokale Variable mit demselben Namen wie die globale Variable in der Funktion definiert ist
[Linux] [C / C ++] So ermitteln Sie den Wert der Rücksprungadresse einer Funktion und den Funktionsnamen des Aufrufers
Wenn sich eine Zeichenfolge einer bestimmten Reihe im Schlüssel des Wörterbuchs befindet, wird die Zeichenfolge in den Wert des Wörterbuchs konvertiert.
Beweisen wir den Additionssatz einer Dreiecksfunktion, indem wir die Funktion durch eine Funktion in SymPy ersetzen (≠ Substitution).
Ein einfacher Grund, warum der Rückgabewert von round (2.675,2) in Python 2,67 beträgt (in Wirklichkeit sollte er 2,68 betragen ...)
Beim Inkrementieren des Werts eines Schlüssels, der nicht vorhanden ist
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
Seien Sie vorsichtig, wenn Sie den Standardargumentwert in der Python 3-Serie angeben
[Python] Ausführungszeit, wenn eine Funktion in einen Wörterbuchwert eingegeben wird
Wenn Sie eine Liste mit dem Standardargument der Funktion angeben ...
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
So ermitteln Sie die Speicheradresse des Pandas-Datenrahmenwerts
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 1)
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Über den Rückgabewert von pthread_mutex_init ()
Über den Rückgabewert des Histogramms.
Die Geschichte eines Parksensors in 10 Minuten mit dem GrovePi + Starter Kit
Generieren Sie eine Liste mit der Anzahl der Tage im aktuellen Monat.
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Ermitteln Sie den Mindestwert der Funktion mithilfe der Partikelgruppenoptimierungsmethode (PSO).
Ich habe einen Fehler beim Abrufen der Hierarchie mit MultiIndex von Pandas gemacht
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Ruft den Rückgabewert eines externen Shell-Skripts (ls) mit python3 ab
Verhalten bei der Rückkehr in den with-Block
Vorsichtsmaßnahmen beim Beizen einer Funktion in Python
[Python] Vorsichtsmaßnahmen beim Ermitteln der Maximal- und Minimalwerte mit einem Numpy-Array mit einer kleinen Anzahl von Elementen
[Python & SQLite] Ich habe den erwarteten Wert eines Rennens mit Pferden im 1x-Gewinnbereich ① analysiert
[Python] [Meta] Ist der Python-Typ ein Typ?
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.
Fühlen Sie sich frei, einen Test mit der Nase zu schreiben (im Fall von + gevent)
Füllen Sie den fehlenden Wert (null) von DataFrame mit den Werten davor und danach mit pyspark
[AWS] Lassen Sie uns einen Komponententest der Lambda-Funktion in der lokalen Umgebung durchführen
Das erste, was überprüft werden muss, wenn in Django ein No Reverse Match auftritt
Vergleichen Sie die Summe jedes Elements in zwei Listen mit dem in Python angegebenen Wert
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Fügen Sie die Funktion hinzu, um den Mindestwert (min) zu dem von Python erstellten Stapel zurückzugeben, aber push / pop / min ist das grundlegende O (1) !!
Der Rückgabewert (Generator) einer Funktion, die endlich und Ausbeute kombiniert, darf nicht direkt an next übergeben werden
Zeichnen Sie in Python ein Diagramm einer quadratischen Funktion
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Achten Sie auf den Rückgabewert von __len__
Kopieren Sie die Liste in Python
Finden Sie die Anzahl der Tage in einem Monat
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
Korrigieren Sie die Argumente der in map verwendeten Funktion
Ausgabe in Form eines Python-Arrays
Suchen Sie nach dem Wert der Instanz in der Liste
Gibt es keinen Standardwert im Wörterbuch?
Wenn eine Datei im freigegebenen Ordner von Raspberry Pi abgelegt wird, wird der Vorgang ausgeführt.
[Python Data Frame] Wenn der Wert leer ist, füllen Sie ihn mit dem Wert einer anderen Spalte.
Es wurde TLE, als ich den Vorgang mit der Druckfunktion im Competition Pro bestätigte
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Rückgabewert von quit () - Gibt es etwas, das von der "Funktion, die alles beendet" zurückgegeben wird?
Ein Hinweis beim Überprüfen, ob der angegebene Schlüssel im definierten Wörterbuch mit Python vorhanden ist