Inspectopedia 2025.2 Help

The truth value of a DataFrame is ambiguous

Reports ambiguous usage of a pandas DataFrame or Series in a boolean context, such as if, while, or logical expressions. This typically leads to the runtime error: ValueError: The truth value of a DataFrame is ambiguous.

In pandas, expressions like df or df == other do not return a single boolean value, but rather a DataFrame or Series of booleans. Using these in control flow without explicit reduction (e.g., .any(), .all(), or .empty) is ambiguous and will raise an exception.

Example:

if df: # ❌ Raises ValueError: The truth value of a DataFrame is ambiguous print("DataFrame exists") if not df.empty: # ✅ Checks if DataFrame has any rows print("DataFrame exists")

When the quick-fix is applied, the condition is replaced with an appropriate reducer like .any(), .all(), or .empty depending on the context.

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

-PyPackages
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Pandas

Inspection ID: PyPandasTruthValueIsAmbiguousInspection

Suppressing Inspection

You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:

//noinspection -PyPackages

More detailed instructions as well as other ways and options that you have can be found in the product documentation:

Inspection Details

By default bundled with:

CLion 2025.2, DataSpell 2025.2, PyCharm 2025.2,

Can be installed with plugin:

Python Community Edition, 252.26661.0

Last modified: 18 September 2025