私は私が特定の文字で、それを削除しようとすると、以下のエラーを与えているパンダにおけるデータフレームがあります。はAttributeError:「NoneType」オブジェクトが属性「lstrip」を持っていない
AttributeError: 'NoneType' object has no attribute 'lstrip'
を、私はいずれかを除去することで始めました(2 $%ZYC)
それを点検df_sample1['counties'].fillna('missing')
、私は(nはカウント... 2カウント、郡1)、実際のデータの混在を汚れた大量のデータを見るだけでなく、ちんぷんかんぷん:見つからないかnull値。
df_sample1['counties'] = df_sample1['counties'].map(lambda x: x.lstrip('+%=/-#$;!\(!\&=&:%;').rstrip('1234567890+%=/-#$;!\(!\&=&:%;'))
df_sample1[:10]
これは「NoneType」エラーが発生します。
はこれをさらにきれいにするために、私は次のコードを実行しました。 私はちょっと掘り下げました.Pandasのドキュメントには、欠損値をスキップするヒントがいくつかあります。if df_sample1['counties'] is None:
pass
else:
df_sample1['counties'].map(lambda x: x.lstrip('+%=/-#$;!\(!\&=&:%;').rstrip('1234567890+%=/-#$;!\(!\&=&:%;'))
これは、上記のNoneTypeエラーを生成します。誰かが間違っていることを指摘できますか?あなたはx
は、ストリッピングを行う前にtruthyであるかどうかをチェックすることによってNone
を「スキップ」することができます
あなたの 'lambda'の中に' if'がある必要があります。 – zondo
そのようなfillnaを呼び出すと、コピーを返すだけで元のdfは変更されません。 'df_sample1 ['counties']を試してくださいfillna( 'missing'、inplace = True)' – ayhan
[the docs]の引数 'na_action'を参照してください(http://pandas.pydata.org/pandas-docs/version/0.17 .0/generated/pandas.Series.map.html)。 –