Skip to content

Commit 0afb1ec

Browse files
mtzljosef-pkt
authored andcommitted
FIX don't raise exception on string repr for NaN
1 parent 81241c9 commit 0afb1ec

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

statsmodels/iolib/summary.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,11 @@ def summary_top(results, title=None, gleft=None, gright=None, yname=None, xname=
298298
#create dictionary with default
299299
#use lambdas because some values raise exception if they are not available
300300
#alternate spellings are commented out to force unique labels
301+
def num_to_str(x, width=6):
302+
if np.isnan(x):
303+
return (width - 3) * ' ' + 'NaN'
304+
return "%#6d" % x
305+
301306
default_items = dict([
302307
('Dependent Variable:', lambda: [yname]),
303308
('Dep. Variable:', lambda: [yname]),
@@ -307,16 +312,16 @@ def summary_top(results, title=None, gleft=None, gright=None, yname=None, xname=
307312
('Time:', lambda: time_of_day),
308313
('Number of Obs:', lambda: [results.nobs]),
309314
#('No. of Observations:', lambda: ["%#6d" % results.nobs]),
310-
('No. Observations:', lambda: ["%#6d" % results.nobs]),
315+
('No. Observations:', lambda: [num_to_str(results.nobs)]),
311316
#('Df model:', lambda: [results.df_model]),
312-
('Df Model:', lambda: ["%#6d" % results.df_model]),
317+
('Df Model:', lambda: [num_to_str(results.df_model)]),
313318
#TODO: check when we have non-integer df
314-
('Df Residuals:', lambda: ["%#6d" % results.df_resid]),
315-
#('Df resid:', lambda: [results.df_resid]),
316-
#('df resid:', lambda: [results.df_resid]), #check capitalization
317-
('Log-Likelihood:', lambda: ["%#8.5g" % results.llf]) #doesn't exist for RLM - exception
318-
#('Method:', lambda: [???]), #no default for this
319-
])
319+
('Df Residuals:', lambda: [num_to_str(results.df_resid)]),
320+
# ('Df resid:', lambda: [results.df_resid]),
321+
# ('df resid:', lambda: [results.df_resid]), #check capitalization
322+
('Log-Likelihood:', lambda: ["%#8.5g" % results.llf]) # doesn't exist for RLM - exception
323+
# ('Method:', lambda: [???]), # no default for this
324+
])
320325

321326
if title is None:
322327
title = results.model.__class__.__name__ + 'Regression Results'

0 commit comments

Comments
 (0)