0
私は人々の情報を持つデータフレームを持っています。しかし、時にはこれらの人が繰り返して、いくつかの行が他の人と同じ人についてのより多くの情報を持っています。参照として列 '名前'を使用して重複を削除する方法がありますが、一番満たされた行のみを保持しますか?Python/Pandas - 最も完全な行を選択するdrop_duplicates
私は人々の情報を持つデータフレームを持っています。しかし、時にはこれらの人が繰り返して、いくつかの行が他の人と同じ人についてのより多くの情報を持っています。参照として列 '名前'を使用して重複を削除する方法がありますが、一番満たされた行のみを保持しますか?Python/Pandas - 最も完全な行を選択するdrop_duplicates
お持ちの場合はNaNに基づいて行を助けるかもしれない最初のものを保つ数えるとによってサブセット「名前」との重複を落とすのソート
df = pd.DataFrame([['a',np.nan,np.nan,'M'],['a',12,np.nan,'M'],['c',np.nan,np.nan,'M'],['d',np.nan,np.nan,'M']],columns=['Name','Age','Region','Gender'])
のようなデータフレームすなわち
df['count'] = pd.isnull(df).sum(1)
df= df.sort_values(['count']).drop_duplicates(subset=['Name'],keep='first').drop('count',1)
出力:
前:
Name Age Region Gender 0 a NaN NaN M 1 a 12.0 NaN M 2 c NaN NaN M 3 d NaN NaN M
後:
Name Age Region Gender 1 a 12.0 NaN M 2 c NaN NaN M 3 d NaN NaN M
サンプルデータと期待される出力を提供します。データ関連の質問のテキストだけの質問は合理的な質問ではありません。 – Zero
私の回答は役に立ちましたか? – Dark