1. ホーム
  2. パイソン

[解決済み】pandas DataFrameから条件式に基づき行を削除する方法【重複あり

2022-03-23 02:11:23

質問

pandasのDataFrameを持っていて、特定の列の文字列の長さが2より大きい行を削除したいのですが、どうすればいいですか?

ということを期待しています(当たり この回答 ):

df[(len(df['column name']) < 2)]

が、エラーが出るだけです。

KeyError: u'no item named False'

何が間違っているのでしょうか?

(注) df.dropna() を含む行を削除するために NaN が、条件式に基づいて行を削除する方法は見当たりませんでした(笑)。

解決方法は?

を行う場合 len(df['column name']) は、1つの数値、つまりDataFrameの行数(つまり列自体の長さ)を取得しているに過ぎません。 もし len を列の各要素に対して使用します。 df['column name'].map(len) . そこで

df[df['column name'].map(len) < 2]