Skip to content

Commit

Permalink
Merge 212d84e into d7c91a3
Browse files Browse the repository at this point in the history
  • Loading branch information
FelipeAdachi committed Mar 31, 2022
2 parents d7c91a3 + 212d84e commit 691b15e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/whylogs/app/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -591,8 +591,12 @@ def log_segments_keys(self, data):

for each_segment in segments:
try:
segment_df = grouped_data.get_group(each_segment)
segment_tags = [{"key": self.segments[i], "value": each_segment[i]} for i in range(len(self.segments))]
if len(self.segments) == 1:
segment_df = grouped_data.get_group(each_segment)
segment_tags = [{"key": self.segments[0], "value": each_segment}]
else:
segment_df = grouped_data.get_group(each_segment)
segment_tags = [{"key": self.segments[i], "value": each_segment[i]} for i in range(len(self.segments))]

self.log_df_segment(segment_df, segment_tags)
except KeyError:
Expand Down
12 changes: 12 additions & 0 deletions tests/unit/app/test_segments.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import datetime
import os
import shutil
from logging import getLogger

import pandas as pd
import pytest
Expand All @@ -10,6 +11,8 @@
from whylogs.app.logger import _TAG_PREFIX, _TAG_VALUE
from whylogs.app.session import session_from_config

TEST_LOGGER = getLogger(__name__)


def test_segments(df_lending_club, tmpdir):
output_path = tmpdir.mkdir("whylogs")
Expand Down Expand Up @@ -61,6 +64,8 @@ def test_segments_keys(df_lending_club, tmpdir):
with session.logger("test", segments=["emp_title", "home_ownership"], cache_size=1) as logger:
logger.log_dataframe(df_lending_club)
profiles = logger.segmented_profiles
for _, prof in profiles.items():
TEST_LOGGER.info(prof.tags)
assert len(profiles) == 47
shutil.rmtree(output_path, ignore_errors=True)

Expand All @@ -74,13 +79,20 @@ def test_segments_single_key(df_lending_club, tmpdir):

session_config = SessionConfig("project", "pipeline", writers=[writer_config])
session = session_from_config(session_config)
home_ownership_values = set(df_lending_club["home_ownership"])
TEST_LOGGER.info(f"Unique home_ownership values are: {home_ownership_values}")
with session.logger("test", segments=["home_ownership"], cache_size=1) as logger:
logger.log_dataframe(df_lending_club)

profiles1 = logger.segmented_profiles
assert len(profiles1) == len(home_ownership_values)
for _, prof in profiles1.items():
assert prof.tags["whylogs.tag.home_ownership"] in home_ownership_values

with session.logger("test2") as logger:
logger.log_dataframe(df_lending_club, segments=["home_ownership"])
profiles2 = logger.segmented_profiles
TEST_LOGGER.info(profiles2)
session.close()
assert len(profiles1) == 4
assert len(profiles2) == 4
Expand Down

0 comments on commit 691b15e

Please sign in to comment.