Count non-NA cells for each column or row.
The values None, NaN, NaT, pandas.NA are considered NA.
If 0 or ‘index’ counts are generated for each column. If 1 or ‘columns’ counts are generated for each row.
Include only float, int or boolean data.
For each column/row the number of non-NA/null entries.
See also
Series.countNumber of non-NA elements in a Series.
DataFrame.value_countsCount unique combinations of columns.
DataFrame.shapeNumber of DataFrame rows and columns (including NA elements).
DataFrame.isnaBoolean same-sized DataFrame showing places of NA elements.
Examples
Constructing DataFrame from a dictionary:
>>> df = pd.DataFrame({"Person":
... ["John", "Myla", "Lewis", "John", "Myla"],
... "Age": [24., np.nan, 21., 33, 26],
... "Single": [False, True, True, True, False]})
>>> df
Person Age Single
0 John 24.0 False
1 Myla NaN True
2 Lewis 21.0 True
3 John 33.0 True
4 Myla 26.0 False
Notice the uncounted NA values:
>>> df.count()
Person 5
Age 4
Single 5
dtype: int64
Counts for each row:
>>> df.count(axis='columns')
0 3
1 2
2 3
3 3
4 3
dtype: int64
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.DataFrame.count.html