1
1
from functools import partial
2
2
import itertools
3
- from typing import List
3
+ from typing import List , Optional , Union
4
4
5
5
import numpy as np
6
6
@@ -375,6 +375,7 @@ def _unstack_multiple(data, clocs, fill_value=None):
375
375
unstcols = unstacked .index
376
376
else :
377
377
unstcols = unstacked .columns
378
+ assert isinstance (unstcols , MultiIndex ) # for mypy
378
379
new_levels = [unstcols .levels [0 ]] + clevels
379
380
new_names = [data .columns .name ] + cnames
380
381
@@ -433,15 +434,14 @@ def _unstack_frame(obj, level, fill_value=None):
433
434
blocks = obj ._data .unstack (unstacker , fill_value = fill_value )
434
435
return obj ._constructor (blocks )
435
436
else :
436
- unstacker = _Unstacker (
437
+ return _Unstacker (
437
438
obj .values ,
438
439
obj .index ,
439
440
level = level ,
440
441
value_columns = obj .columns ,
441
442
fill_value = fill_value ,
442
443
constructor = obj ._constructor ,
443
- )
444
- return unstacker .get_result ()
444
+ ).get_result ()
445
445
446
446
447
447
def _unstack_extension_series (series , level , fill_value ):
@@ -902,9 +902,10 @@ def check_len(item, name):
902
902
elif isinstance (prefix_sep , dict ):
903
903
prefix_sep = [prefix_sep [col ] for col in data_to_encode .columns ]
904
904
905
+ with_dummies : List [DataFrame ]
905
906
if data_to_encode .shape == data .shape :
906
907
# Encoding the entire df, do not prepend any dropped columns
907
- with_dummies : List [ DataFrame ] = []
908
+ with_dummies = []
908
909
elif columns is not None :
909
910
# Encoding only cols specified in columns. Get all cols not in
910
911
# columns to prepend to result.
@@ -994,13 +995,15 @@ def _make_col_name(prefix, prefix_sep, level) -> str:
994
995
995
996
dummy_cols = [_make_col_name (prefix , prefix_sep , level ) for level in levels ]
996
997
998
+ index : Optional [Index ]
997
999
if isinstance (data , Series ):
998
1000
index = data .index
999
1001
else :
1000
1002
index = None
1001
1003
1002
1004
if sparse :
1003
1005
1006
+ fill_value : Union [bool , float , int ]
1004
1007
if is_integer_dtype (dtype ):
1005
1008
fill_value = 0
1006
1009
elif dtype == bool :
@@ -1010,7 +1013,7 @@ def _make_col_name(prefix, prefix_sep, level) -> str:
1010
1013
1011
1014
sparse_series = []
1012
1015
N = len (data )
1013
- sp_indices = [[] for _ in range (len (dummy_cols ))]
1016
+ sp_indices : List [ List ] = [[] for _ in range (len (dummy_cols ))]
1014
1017
mask = codes != - 1
1015
1018
codes = codes [mask ]
1016
1019
n_idx = np .arange (N )[mask ]
0 commit comments