Count Non-Null Values Pandas

Viewed 460

I have this set of data:

UserID  AccountNum
A001      12345
A001       NaN
A001      56789

My wish output is like this, I want to count number of AccNum but I don't want to count the null value

UserID  TotalAccNum
A001      2

I have tried this query:

data.groupby('UserID').agg({'AccountNum': ['count']})
2 Answers

Your solution is correct.

If not working, NAN are strings, not missing values.

So need:

data['AccountNum'] = data['AccountNum'].astype(float)

Or:

data['AccountNum'] = pd.to_numeric(data['AccountNum'], errors='coerce')

And then your solution should be simplify:

df = data.groupby('UserID')['AccountNum'].count().reset_index(name='TotalAccNum')

try this:

df[df['AccountNum'].notnull()].count()
Related