@@ -770,11 +770,9 @@ def iterrows(self):
770
770
iteritems : Iterate over (column name, Series) pairs.
771
771
772
772
"""
773
- columns = self .columns
774
- klass = self ._constructor_sliced
775
- for k , v in zip (self .index , self .values ):
776
- s = klass (v , index = columns , name = k )
777
- yield k , s
773
+ iloc = self .iloc
774
+ for i , k in enumerate (self .index ):
775
+ yield k , iloc [i ]
778
776
779
777
def itertuples (self , index = True , name = "Pandas" ):
780
778
"""
@@ -2784,7 +2782,7 @@ def _getitem_multilevel(self, key):
2784
2782
return self ._get_item_cache (key )
2785
2783
2786
2784
def _getitem_frame (self , key ):
2787
- if key .values . size and not is_bool_dtype ( key .values ):
2785
+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
2788
2786
raise ValueError ('Must pass DataFrame with boolean values only' )
2789
2787
return self .where (key )
2790
2788
@@ -3174,7 +3172,7 @@ def _setitem_frame(self, key, value):
3174
3172
)
3175
3173
key = self ._constructor (key , ** self ._construct_axes_dict ())
3176
3174
3177
- if key .values . size and not is_bool_dtype ( key .values ):
3175
+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
3178
3176
raise TypeError (
3179
3177
'Must pass DataFrame or 2-d ndarray with boolean values only'
3180
3178
)
0 commit comments