@@ -785,11 +785,9 @@ def iterrows(self):
785785 iteritems : Iterate over (column name, Series) pairs.
786786
787787 """
788- columns = self .columns
789- klass = self ._constructor_sliced
790- for k , v in zip (self .index , self .values ):
791- s = klass (v , index = columns , name = k )
792- yield k , s
788+ iloc = self .iloc
789+ for i , k in enumerate (self .index ):
790+ yield k , iloc [i ]
793791
794792 def itertuples (self , index = True , name = "Pandas" ):
795793 """
@@ -2765,7 +2763,7 @@ def _getitem_multilevel(self, key):
27652763 return self ._get_item_cache (key )
27662764
27672765 def _getitem_frame (self , key ):
2768- if key .values . size and not is_bool_dtype ( key .values ):
2766+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
27692767 raise ValueError ('Must pass DataFrame with boolean values only' )
27702768 return self .where (key )
27712769
@@ -3153,7 +3151,7 @@ def _setitem_frame(self, key, value):
31533151 )
31543152 key = self ._constructor (key , ** self ._construct_axes_dict ())
31553153
3156- if key .values . size and not is_bool_dtype ( key .values ):
3154+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
31573155 raise TypeError (
31583156 'Must pass DataFrame or 2-d ndarray with boolean values only'
31593157 )
0 commit comments