# has_no_infs { #pelage.checks.has_no_infs }

`checks.has_no_infs(data, columns=None)`

Check if a DataFrame has any infinite (inf) values.

## Parameters

<code><span class="parameter-name">data</span><span class="parameter-annotation-sep">:</span> <span class="parameter-annotation">PolarsLazyOrDataFrame</span></code>

:   The input DataFrame to check for null values.

<code><span class="parameter-name">columns</span><span class="parameter-annotation-sep">:</span> <span class="parameter-annotation">Optional\[PolarsColumnType\]</span> <span class="parameter-default-sep">=</span> <span class="parameter-default">None</span></code>

:   Columns to consider for null value check. By default, all columns are checked.

## Returns

| Type                  | Description                                                      |
|-----------------------|------------------------------------------------------------------|
| PolarsLazyOrDataFrame | The original polars DataFrame or LazyFrame when the check passes |

## Examples

```python
>>> import polars as pl
>>> import pelage as plg
>>> df = pl.DataFrame(
...     {
...         "a": [1, 2],
...         "b": [1.0, float("inf")],
...     }
... )
>>> plg.has_no_infs(df)
Traceback (most recent call last):
  ...
pelage.checks.PolarsAssertError: Details
shape: (1, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ i64 ┆ f64 │
╞═════╪═════╡
│ 2   ┆ inf │
└─────┴─────┘
Error with the DataFrame passed to the check function:
--> The were unexpeted infinites in the dataframe. See above.
>>> plg.has_no_infs(df, ["a"])  # or  plg.has_no_infs(df, "a")
shape: (2, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ i64 ┆ f64 │
╞═════╪═════╡
│ 1   ┆ 1.0 │
│ 2   ┆ inf │
└─────┴─────┘
```