@@ -781,11 +781,9 @@ def iterrows(self):
781
781
iteritems : Iterate over (column name, Series) pairs.
782
782
783
783
"""
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 ]
789
787
790
788
def itertuples (self , index = True , name = "Pandas" ):
791
789
"""
@@ -2858,7 +2856,7 @@ def _getitem_multilevel(self, key):
2858
2856
return self ._get_item_cache (key )
2859
2857
2860
2858
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 ( ):
2862
2860
raise ValueError ('Must pass DataFrame with boolean values only' )
2863
2861
return self .where (key )
2864
2862
@@ -3246,7 +3244,7 @@ def _setitem_frame(self, key, value):
3246
3244
)
3247
3245
key = self ._constructor (key , ** self ._construct_axes_dict ())
3248
3246
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 ( ):
3250
3248
raise TypeError (
3251
3249
'Must pass DataFrame or 2-d ndarray with boolean values only'
3252
3250
)
0 commit comments