In Pandas, the all() method is used to check if all values in a DataFrame or Series are True or meet a specified condition. It can be applied across a particular axis, either rows or columns. While commonly used with boolean values, it can also assess the truthiness of other data types. Non-zero or non-empty values are treated as True, whereas values like 0, NaN, or empty entries are considered False.
In this article, I will explain the Pandas DataFrame all() method, including its syntax, parameters, and usage. We will look at how to determine if all elements in a DataFrame or Series meet a given condition, with the flexibility to apply it to either columns or rows, depending on the chosen axis.
Key Points –
- The
all()method checks whether all elements along a specified axis in a DataFrame or Series evaluate toTrue. - It can be applied to either columns (
axis=0, the default) or rows (axis=1), depending on the axis parameter. - Non-zero or non-empty values are considered
True, while values like0,NaN, or empty strings are treated asFalse. - The method allows for the exclusion of missing (
NA) values using theskipna=Trueparameter (default). - It can be used with boolean columns or other data types by setting the
bool_onlyparameter toTrue.
Pandas all() Method
The Pandas all() method is used to evaluate whether all elements in a DataFrame or Series are True along a specific axis (rows or columns). This method is typically applied to boolean data but can also handle other data types where “truthiness” (e.g., non-zero or non-empty values) can be determined.
Syntax of Pandas DataFrame all() Method
Let’s know the syntax of the all() method.
# Syntax of DataFrame.all() method
DataFrame.all(axis=0, bool_only=None, skipna=True, level=None, **kwargs)
Parameters of the DataFrame.all()
Following are the parameters of the all() method.
axis– {0orindex,1orcolumns}, default0. Determines whether to check along the rows (axis=1for row-wise) or columns (axis=0for column-wise).bool_only–bool, defaultNone. IfTrue, only considers boolean columns.skipna–bool, defaultTrue. IfTrue, ignoresNaNvalues.level–intorlevel name, defaultNone. If the DataFrame has a MultiIndex, the function can be applied along a specific level.kwargs– Additional keyword arguments passed to the function.
Return Value
It returns a boolean Series or DataFrame (if a level is specified), with each value representing whether all elements along the specified axis are True.
Usage of Pandas DataFrame all() Method
The Pandas DataFrame.all() method determines whether all elements in a DataFrame or along a specified axis are True. It is especially useful for verifying if every value in a row or column satisfies a condition, and is commonly used with boolean data.
Now, let’s create a Pandas DataFrame using data from a dictionary.
import pandas as pd
df = pd.DataFrame({
'A': [True, True, False],
'B': [True, True, True]
})
print("Original DataFrame:\n",df)
Yields below output.
Check if all Values in Each Column are True (Default axis=0)
You can use the all() method to determine if all values in each column of the DataFrame are True. By default, the method checks each column (with axis=0), so to verify if all values in every column are True, you simply use the all() method.
# Check if all values in each column are True
df2 = df.all()
print("All values in each column are True:\n", df2)
Here, it shows that in column A, not all values are True, while in column B, all values are True.
- Column ‘A’ has a
Falsevalue, so the result for ‘A’ isFalse. - Column ‘B’ has all
Truevalues, so the result for ‘B’ isTrue.

Check if all Values in Each Row are True (axis=1)
Alternatively, to check if all values in each row are True, you can use the all() method with the parameter axis=1. This changes the behavior to check across rows instead of columns.
# Check if all values in each row are True
df2 = df.all(axis=1)
print("All values in each row are True:\n", df2)
# Output:
# All values in each row are True:
# 0 True
# 1 True
# 2 False
# dtype: bool
Here,
- Row 0 – The values are
[True, True], so all values areTrue, and the result isTrue. - Row 1 – The values are
[True, True], so all values areTrue, and the result isTrue. - Row 2 – The values are
[False, True]. Since not all values areTrue, the result isFalse.
Ignore NaN Values while Checking if all Values in Each Column are True (skipna=True)
To ignore NaN values while checking if all values in each column are True, you can use the skipna=True parameter with the all() method. By default, skipna is set to True, which means NaN values are excluded from the check.
import pandas as pd
import numpy as np
# Creating a DataFrame with NaN values
df = pd.DataFrame({
'A': [True, np.nan, False],
'B': [True, True, np.nan]
})
# Check if all values in each column are True, ignoring NaN values
df2 = df.all(skipna=True)
print("All values in each column are True (ignoring NaN):\n", df2)
# Output:
# All values in each column are True (ignoring NaN):
# A False
# B True
# dtype: bool
Here,
- Column
A– The non-NaNvalues are[True, False]. Since not all non-NaNvalues areTrue(due to theFalsevalue), the result for columnAisFalse. - Column
B– The non-NaNvalues are[True, True]. Since all non-NaNvalues areTrue, the result for columnBisTrue.
Using skipna=True ensures that NaN values do not affect the result, and the method only considers the non-NaN values for the True check.
Apply to Boolean Columns only (bool_only=True)
Similarly, to apply the all() method exclusively to boolean columns in a DataFrame, use the bool_only=True parameter. This ensures that only columns with boolean data types are included in the evaluation while ignoring other data types.
import pandas as pd
# Creating a DataFrame with mixed data types
df = pd.DataFrame({
'A': [True, False, True],
'B': [2, 4, 6], # Non-boolean column
'C': [True, True, False]
})
# Check if all boolean values in each column are True
df2 = df.all(bool_only=True)
print("All boolean values in each column are True:\n", df2)
# Output:
# All boolean values in each column are True:
# A False
# C False
# dtype: bool
Here,
- Column
A– Contains[True, False, True]. Since not all boolean values areTrue(due to the False value), the result isFalse. - Column
B– Is ignored because it is not a boolean column. - Column
C– Contains[True, True, False]. Since not all boolean values areTrue(due to theFalsevalue), the result isFalse.
Using bool_only=True ensures that the check is performed solely on boolean columns, preventing other data types from influencing the result.
Check if all Values Along a Specific Level in a MultiIndex DataFrame are True
Finally, to check if all values along a specific level in a MultiIndex DataFrame are True, you’ll need to use the all() method while specifying the level you want to check.
import pandas as pd
# Creating a MultiIndex DataFrame
arrays = [
['A', 'A', 'B', 'B'],
[1, 2, 1, 2]
]
index = pd.MultiIndex.from_arrays(arrays, names=('Category', 'Subcategory'))
df = pd.DataFrame({
'Values': [True, False, True, True]
}, index=index)
print("Original DataFrame:\n", df)
# Check if all values along a specific level
# (e.g., 'Category') are True
result = df.all(level='Category')
print("All values in each category are True:\n", result)
Here,
- Category
A– The values are[True, False]. Since not all values areTrue(due toFalse), the result isFalse. - Category
B– The values are[True, True]. Since all values areTrue, the result isTrue.
This example yields the below output.
Original DataFrame:
Values
Category Subcategory
A 1 True
2 False
B 1 True
2 True
All values in each category are True:
Values
Category
A False
B True
FAQ on Pandas DataFrame all() Method
The all() method checks if all elements along a specified axis in a DataFrame or Series are True. It returns True if all elements meet the condition and False otherwise.
By default, all() checks along columns (axis=0). Simply call df.all() to check if all values in each column are True.
Use the axis=1 parameter to check along rows. Call df.all(axis=1) to determine if all values in each row are True.
When skipna=True, NaN values are ignored in the check. If skipna=False, any NaN values in the DataFrame will result in False being returned for that column or row.
Use the bool_only=True parameter. This ensures that only boolean columns are considered in the check, ignoring other data types.
Conclusion
In summary, the all() method in Pandas is a useful tool for checking if all elements in a DataFrame or Series satisfy a True condition. It offers flexibility by enabling checks across different axes (rows or columns) and can be customized to ignore NaN values or limit the verification to boolean columns.
Happy Learning!!
Related Articles
- Pandas DataFrame abs() Method
- Pandas DataFrame copy() Function
- Pandas DataFrame ffill() Method
- Pandas DataFrame max() Function
- Pandas DataFrame any() Method
- Pandas DataFrame round() Method
- Pandas DataFrame min() Method
- Pandas DataFrame eval() Function
- Pandas DataFrame bfill() Method
- Pandas DataFrame cumsum() Method
- Pandas DataFrame std() Method
- Pandas DataFrame cumprod() Method
- Pandas DataFrame dot() Method