@@ -158,17 +158,18 @@ def info(
158
158
lines .append (str (type (data )))
159
159
lines .append (data .index ._summary ())
160
160
161
- if len (data .columns ) == 0 :
161
+ cols = data .columns
162
+ col_count = len (cols )
163
+ dtypes = data .dtypes
164
+
165
+ if col_count == 0 :
162
166
lines .append (f"Empty { type (data ).__name__ } " )
163
167
fmt .buffer_put_lines (buf , lines )
164
168
return
165
169
166
- cols = data .columns
167
- col_count = len (data .columns )
168
-
169
170
# hack
170
171
if max_cols is None :
171
- max_cols = get_option ("display.max_info_columns" , len ( data . columns ) + 1 )
172
+ max_cols = get_option ("display.max_info_columns" , col_count + 1 )
172
173
173
174
max_rows = get_option ("display.max_info_rows" , len (data ) + 1 )
174
175
@@ -179,7 +180,7 @@ def info(
179
180
exceeds_info_cols = col_count > max_cols
180
181
181
182
def _verbose_repr ():
182
- lines .append (f"Data columns (total { len ( data . columns ) } columns):" )
183
+ lines .append (f"Data columns (total { col_count } columns):" )
183
184
184
185
id_head = " # "
185
186
column_head = "Column"
@@ -196,9 +197,9 @@ def _verbose_repr():
196
197
header = _put_str (id_head , space_num ) + _put_str (column_head , space )
197
198
if show_counts :
198
199
counts = data .count ()
199
- if len ( cols ) != len (counts ): # pragma: no cover
200
+ if col_count != len (counts ): # pragma: no cover
200
201
raise AssertionError (
201
- f"Columns must equal counts ({ len ( cols ) } != { len (counts )} )"
202
+ f"Columns must equal counts ({ col_count } != { len (counts )} )"
202
203
)
203
204
count_header = "Non-Null Count"
204
205
len_count = len (count_header )
@@ -214,7 +215,7 @@ def _verbose_repr():
214
215
215
216
dtype_header = "Dtype"
216
217
len_dtype = len (dtype_header )
217
- max_dtypes = max (len (pprint_thing (k )) for k in data . dtypes )
218
+ max_dtypes = max (len (pprint_thing (k )) for k in dtypes )
218
219
space_dtype = max (len_dtype , max_dtypes )
219
220
header += _put_str (count_header , space_count ) + _put_str (
220
221
dtype_header , space_dtype
@@ -228,14 +229,14 @@ def _verbose_repr():
228
229
+ _put_str ("-" * len_dtype , space_dtype )
229
230
)
230
231
231
- for i , col in enumerate (data . columns ):
232
- dtype = data . dtypes . iloc [i ]
232
+ for i , col in enumerate (cols ):
233
+ dtype = dtypes [i ]
233
234
col = pprint_thing (col )
234
235
235
236
line_no = _put_str (f" { i } " , space_num )
236
237
count = ""
237
238
if show_counts :
238
- count = counts . iloc [i ]
239
+ count = counts [i ]
239
240
240
241
lines .append (
241
242
line_no
@@ -245,7 +246,7 @@ def _verbose_repr():
245
246
)
246
247
247
248
def _non_verbose_repr ():
248
- lines .append (data . columns ._summary (name = "Columns" ))
249
+ lines .append (cols ._summary (name = "Columns" ))
249
250
250
251
def _sizeof_fmt (num , size_qualifier ):
251
252
# returns size in human readable format
@@ -266,7 +267,7 @@ def _sizeof_fmt(num, size_qualifier):
266
267
_verbose_repr ()
267
268
268
269
# groupby dtype.name to collect e.g. Categorical columns
269
- counts = data . dtypes .value_counts ().groupby (lambda x : x .name ).sum ()
270
+ counts = dtypes .value_counts ().groupby (lambda x : x .name ).sum ()
270
271
dtypes = [f"{ k [0 ]} ({ k [1 ]:d} )" for k in sorted (counts .items ())]
271
272
lines .append (f"dtypes: { ', ' .join (dtypes )} " )
272
273
0 commit comments