2017-08-04 3 views
-1

Ich habe eine Funktion, die drei Argumente dauert. Und hier ist die Überschrift.Pandas anwenden Funktion mit Argumenten

def count_ones(num, total_bits, group_size): 

Und ich versuche, diese Funktion auf Datenspalte anzuwenden. Aber es gibt nicht zurück, was ich erwartet habe. Könnte mir jemand bei diesem Problem helfen? total_bits sind 60 und GROUP_SIZE ist 12.

df['events'] = df['data'].apply(count_ones, args =(60, 12)) 
+0

warum nicht: 'df [ 'Ereignisse'] count_ones = (df [ 'data'], 60 , 12) '? PS Ich hoffe deine Funktion kann mit Vektoren umgehen ... – MaxU

+1

"Aber es gibt nicht zurück, was ich erwartet habe." Was gibt es zurück? Was erwartest du? – DyZ

+0

@MaxU meine Funktion wird binäre ganzzahlige Eingabe und zwei Parameter nehmen. – ejshin1

Antwort

0

die Argumente als kwargs zu apply Pass:

df['events'] = df['data'].apply(count_ones, total_bits=60, group_size=12) 
+0

Sie haben Recht! Ich werde diese Lösung versuchen. – ejshin1

Verwandte Themen