diff --git a/4230aem.py b/4230aem.py new file mode 100644 index 000000000..7d086a728 --- /dev/null +++ b/4230aem.py @@ -0,0 +1,8 @@ +import numpy as np +import pandas as pd +from ydata_profiling import ProfileReport + +data = np.random.uniform(size=6) +data[0] = 1e16 +df = pd.DataFrame(dict(a=data)) +ProfileReport(df, tsmode=False, lazy=False) \ No newline at end of file diff --git a/tests/test_issue.py b/tests/test_issue.py new file mode 100644 index 000000000..3f9e31a74 --- /dev/null +++ b/tests/test_issue.py @@ -0,0 +1,22 @@ +import numpy as np +import pandas as pd +import pytest +from data_profiling import ProfileReport + + +def test_extreme_memory_usage_issue_1749(): + """ + Regression test for Issue #1749. + Ensures that extreme outliers (e.g., 1e16) do not cause a MemoryError. + """ + data = np.random.uniform(size=6) + data[0] = 1e16 + df = pd.DataFrame(dict(a=data)) + + try: + # Пробуем сгенерировать структуру отчета + report = ProfileReport(df, tsmode=False, lazy=False) + report.get_description() + except MemoryError: + # Если вдруг ошибка вернется, тест об этом сообщит + pytest.fail("ProfileReport raised MemoryError on extreme data values (Issue #1749)") \ No newline at end of file