df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'],
'income': [40000, np.nan, 42000, 50000, np.nan, np.nan, 30000]})
user income
0 Bob 40000.0
1 Jane NaN
2 Alice 42000.0
3 Jane 50000.0
4 Alice NaN
5 Bob NaN
6 Alice 30000.0
Ich möchte die Anzahl aller Nullwerte in der Spalte "Einkommen" basierend auf der Spalte "Benutzer" in meinem df finden. Ich versuche so etwas: len(df[df.income.isnull().sum()])
aber es ist unvollständig.
ich würde ... benutzen pdcrosstab
pd.crosstab(df['user'], df['income'].isnull())[True].sort_values(ascending = False)
#user
#Alice 1
#Bob 1
#Jane 1
#Name: True, dtype: int64
oder GroupBy.sum
df['income'].isnull().groupby(df['user']).sum().astype(int).sort_values(ascending=False)
#user
#Alice 1
#Bob 1
#Jane 1
#Name: income, dtype: int64
Hinweis
Ich habe hier Astype verwendet, denn wenn die Anzahl 1 ist, wird es zurückgegeben True
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen