が、私はいくつかのためにデータフレームはなぜ
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()
を持ってPANDAS を使用して(「STNAME」)状態にある都市の最大数(「CTYNAME」)を取得しようとしていますパンダPythonでKeyError例外を取得しています私が州名( 'STNAME')にインデックスを設定したとしても、インデックスは州(アラスカ、ユタなど)の代わりに整数の束です。
そして、私はあなたが実際にヘッダを反復処理しているんfor _ in df
とき、それは
KeyError: 'the label [STNAME] is not in the [index]'
私はiterrowsを使用して反復処理するにはどうすればよいですか?私は次の(state_df.iterrows())[1]を使って試してみましたが、何らかの理由で同じレコード "Alabama"を与え続けています。 –
私はprint(state_df)を実行すると、左側に整数のリストが表示され、右側にSTNAME(状態名)が表示されます。私はちょうど国家名を反復する方法を理解することができません... また、私はしていた(〜(次の(state_df.iterrows())[1] .empty())):しかし、それはtypeError "Bool"オブジェクトが呼び出せません –
私は自分の答えを更新しました。私の最初の例が示すように、 'STNAME'列を反復してみてください。 @ Linkx_lair – Lgiro