Skip to content

Commit

Permalink
fix bug in PercentTrue primitive
Browse files Browse the repository at this point in the history
  • Loading branch information
Nate Parsons committed Oct 25, 2023
1 parent f98704f commit adbd640
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
3 changes: 2 additions & 1 deletion featuretools/primitives/standard/aggregation/percent_true.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import pandas as pd
from woodwork.column_schema import ColumnSchema
from woodwork.logical_types import Boolean, BooleanNullable, Double

Expand Down Expand Up @@ -30,7 +31,7 @@ class PercentTrue(AggregationPrimitive):
return_type = ColumnSchema(logical_type=Double, semantic_tags={"numeric"})
stack_on = []
stack_on_exclude = []
default_value = 0
default_value = pd.NA
compatibility = [Library.PANDAS, Library.DASK]
description_template = "the percentage of true values in {}"

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import pandas as pd
from woodwork.logical_types import BooleanNullable

import featuretools as ft


def test_percent_true_default_value_with_dfs():
es = ft.EntitySet(id="customer_data")

customers_df = pd.DataFrame(data={"customer_id": [1, 2]})
transactions_df = pd.DataFrame(
data={"tx_id": [1], "customer_id": [1], "is_foo": [True]},
)

es.add_dataframe(
dataframe_name="customers_df",
dataframe=customers_df,
index="customer_id",
)
es.add_dataframe(
dataframe_name="transactions_df",
dataframe=transactions_df,
index="tx_id",
logical_types={"is_foo": BooleanNullable},
)

es = es.add_relationship(
"customers_df",
"customer_id",
"transactions_df",
"customer_id",
)

feature_matrix, _ = ft.dfs(
entityset=es,
target_dataframe_name="customers_df",
agg_primitives=["percent_true"],
)

assert pd.isna(feature_matrix["PERCENT_TRUE(transactions_df.is_foo)"][2])

0 comments on commit adbd640

Please sign in to comment.