ich Daten, die in einem Datenrahmen genannt Elemente wie folgt aussieht:Typeerror: int() Argument muss ein String sein ... nicht ‚untypische Konstruktionen‘
Yr Mo Count
1 2008 2 14
2 2008 3 37
3 2008 4 23
4 2008 5 22
5 2008 6 32
6 2008 7 45
7 2008 8 33
8 2008 9 24
9 2008 10 70
10 2008 11 48
11 2008 12 60
12 2009 1 63
13 2009 2 64
14 2009 3 60
15 2009 4 63
16 2009 5 41
17 2009 6 44
18 2009 7 42
19 2009 8 47
20 2009 9 57
21 2009 10 62
22 2009 11 47
23 2009 12 50
Ich versuche, eine Funktion groupby anzuwenden. transformieren und die Funktion in der Spalte 'Yr' anwenden lassen. Die Funktion, die ich anwenden versuche unter:
def normal (list):
for item in list:
mn = min(list)
mx = max(list)
(item-mn)/(mx-mn)
Die Codezeile ich für die groupby.transform zu verwenden Ich versuche, ist dies:
import pandas as pd
appts2['normal'] = appts2.groupby('Yr')['Count'].transform(normal)
Das Folgende ist die Zurückverfolgungs, die ich bekommen :
Traceback (most recent call last):
File "<ipython-input-49-6f01ec40e613>", line 1, in <module>
appts2['Normal'] = appts2.groupby('Yr')['Count'].transform(normal)
File "file location", line 2845, in transform
result[indexer] = res
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Vielleicht haben Sie irgendwo eine 'Return'-Anweisung vergessen? Das ist eine häufige Quelle von unerwarteten 'None's. –
Wenn ich eine Rückgabe in die for-Anweisung einfüge, wird die Funktion in der groupby.transform ausgeführt, aber es gibt nur das Ergebnis für die erste Zeile zurück, anstatt es auf jede Zeile anzuwenden – SpottieO
Sie müssen es ablegen es muss die gleiche Spalte wie starten die 'für' Aussage nicht der Körper. –