Ich versuche, die maximale Anzahl der Städte (‚CTYNAME‘) in einem Zustand (‚stName‘) mit PANDA Ich habe einen DatenrahmenWarum ich bin immer KeyError in Pandas Python
df_filtered = census_df.copy().filter(items=['SUMLEV','STNAME','CTYNAME'])
df_filtered = df_filtered.set_index(['STNAME'])
state_df['STNAME'] = df.index.tolist()
state_df['STNAME'] = state_df['STNAME'].drop_duplicates()
state_df = state_df['STNAME'].dropna()
state_df = pd.DataFrame(state_df)
state_df.set_index(['STNAME'])
for state in state_df:
state_df['COUNT'] = df.loc[state].count()
Für einige zu bekommen Grund, obwohl ich den Index auf den Namen des Staates ('STNAME') gesetzt habe, ist der Index eine Reihe von ganzen Zahlen anstelle des Namens des Staates (dh Alaska, Utah, etc).
Und wenn ich versuche, um den Code auszuführen es mir ein Key Error geben
KeyError: 'the label [STNAME] is not in the [index]'
Wie ITERATE ich die iterrows verwenden? Ich habe versucht, die nächste (state_df.iterrows()) [1] zu verwenden und aus irgendeinem Grund gibt es mir die gleiche Aufzeichnung "Alabama". –
Wenn ich drucke (state_df), zeigt es eine Liste von Ganzzahlen auf der linken Seite und der STNAME (Staatsname) auf der rechten Seite - die alle eindeutig sind. Ich kann einfach nicht herausfinden, wie man über die Zustandsnamen iteriert ... Auch ich habe versucht, während (~ (next (state_df.iterrows()) [1] .empty())): aber das war ein typeError "Bool" Objekt ist nicht aufrufbar –
Ich habe meine Antwort aktualisiert. Versuchen Sie, die Spalte 'STNAME' zu durchlaufen, wie das erste Beispiel zeigt. – Lgiro