以下の列で構成されるデータフレーム"df"(一部の列省略)があり、Group別にBirtdayの欠損値の数をカウントしたいです。お手数をおかけして恐れ入りますが、ご教示お願いします。
「dfの列」
GroupID,GroupName,personalID,Sex,Birthday,値(省略)
「これまでやったこと」
(1)df.isnull().sum()で欠損値の数が分かり、
(2)df.isnull().apply(lambda col: col.value_counts(), axis=0).fillna(0).astype(np.float).apply(lambda col: col/col.sum(), axis=0) で
列別の欠損値の割合が分かりました。特にbirthdayに欠損値の割合が高いです。
「今やりたいこと」
特定のGroupの場合に欠損値が集中している事を示したいです。
⇒実際には元ファイルを目視して分かりましたが、(特に今後件数が増えた場合に備えて)プログラミングの勉強として知りたいです。
「追記:対処したこと」
df2=df.groupby('GroupName').count()[['GroupID','Birthday']] で出し、
df2['GAP']=df2['GroupID']-df2['Birthday']
df2.sort_values('GAP',ascending=False)
で欠損値の数を比較しました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。