@@ -734,11 +734,9 @@ def iterrows(self):
734
734
iteritems : Iterate over (column name, Series) pairs.
735
735
736
736
"""
737
- columns = self .columns
738
- klass = self ._constructor_sliced
739
- for k , v in zip (self .index , self .values ):
740
- s = klass (v , index = columns , name = k )
741
- yield k , s
737
+ iloc = self .iloc
738
+ for i , k in enumerate (self .index ):
739
+ yield k , iloc [i ]
742
740
743
741
def itertuples (self , index = True , name = "Pandas" ):
744
742
"""
@@ -2186,7 +2184,7 @@ def _getitem_multilevel(self, key):
2186
2184
return self ._get_item_cache (key )
2187
2185
2188
2186
def _getitem_frame (self , key ):
2189
- if key .values . size and not is_bool_dtype ( key .values ):
2187
+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
2190
2188
raise ValueError ('Must pass DataFrame with boolean values only' )
2191
2189
return self .where (key )
2192
2190
@@ -2518,7 +2516,7 @@ def _setitem_array(self, key, value):
2518
2516
def _setitem_frame (self , key , value ):
2519
2517
# support boolean setting with DataFrame input, e.g.
2520
2518
# df[df > df2] = 0
2521
- if key .values . size and not is_bool_dtype ( key .values ):
2519
+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
2522
2520
raise TypeError ('Must pass DataFrame with boolean values only' )
2523
2521
2524
2522
self ._check_inplace_setting (value )
0 commit comments