ich habe eine Dataframe, in dem ich eine Spalte zeilenweise durchgehen möchte. Dabei soll aber jeweils nur die 5+6 Stelle des Eintrags betrachtet werden, wenn die Länge 10 ist.
Anschließend soll der Eintrag der 5+6 Stelle einer Kategorie zugeordnet werden, also zb '10' ist Kategorie 1, '11' ist Kategorie 2 usw...
Leider klappt das bei mir noch nicht wirklich und ich weiß nicht weiter und hoffe auf eure Denkanstöße
Was ich mir soweit überlegt habe:
1. Teil: Ich habe geschaut, um welchen Datentyp es sich in der Spalte handelt, es ist ein Series Object. Daher wollte ich dies erstmal in einen String casten. Und anschließen zeilenweise durchgehen,
auf die Länge des Eintrags prüfen und wenn diese 10 ist, die 5+6 Stelle betrachten.
Code: Alles auswählen
df_View['Tabelle'] = df_View['Tabelle'].astype(str)
for s in df_View['Tabelle']:
if df_View['Tabelle'].len() == 10:
print (s[4:6])
AttributeError: 'Series' object has no attribute 'len'
2. Teil: Nun soll die entsprechende Kategorie zugeordnet werden. Meine Überlegung war, eine Methode zu definieren.
Code: Alles auswählen
def Kat_zuordnen(kat):
if kat == '10':
return 1
elif kat == '11':
return 2
.....
else:
return 0
df_View['Tabelle_zugeordnet'] = df_View['Tabelle'].apply(Kat_zuordnen)
del df_View['Tabelle']
Ich habe die Kategorien auch als .csv hinterlegt. Habt ihr hier eine Idee, wie ich das ganze schöner machen kann?
Danke und liebe Grüße
lambkin