@@ -781,11 +781,9 @@ def iterrows(self):
781781 iteritems : Iterate over (column name, Series) pairs.
782782
783783 """
784- columns = self .columns
785- klass = self ._constructor_sliced
786- for k , v in zip (self .index , self .values ):
787- s = klass (v , index = columns , name = k )
788- yield k , s
784+ iloc = self .iloc
785+ for i , k in enumerate (self .index ):
786+ yield k , iloc [i ]
789787
790788 def itertuples (self , index = True , name = "Pandas" ):
791789 """
@@ -2858,7 +2856,7 @@ def _getitem_multilevel(self, key):
28582856 return self ._get_item_cache (key )
28592857
28602858 def _getitem_frame (self , key ):
2861- if key .values . size and not is_bool_dtype ( key .values ):
2859+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
28622860 raise ValueError ('Must pass DataFrame with boolean values only' )
28632861 return self .where (key )
28642862
@@ -3246,7 +3244,7 @@ def _setitem_frame(self, key, value):
32463244 )
32473245 key = self ._constructor (key , ** self ._construct_axes_dict ())
32483246
3249- if key .values . size and not is_bool_dtype ( key .values ):
3247+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
32503248 raise TypeError (
32513249 'Must pass DataFrame or 2-d ndarray with boolean values only'
32523250 )
0 commit comments