@@ -752,11 +752,9 @@ def iterrows(self):
752
752
iteritems : Iterate over (column name, Series) pairs.
753
753
754
754
"""
755
- columns = self .columns
756
- klass = self ._constructor_sliced
757
- for k , v in zip (self .index , self .values ):
758
- s = klass (v , index = columns , name = k )
759
- yield k , s
755
+ iloc = self .iloc
756
+ for i , k in enumerate (self .index ):
757
+ yield k , iloc [i ]
760
758
761
759
def itertuples (self , index = True , name = "Pandas" ):
762
760
"""
@@ -2273,7 +2271,7 @@ def _getitem_multilevel(self, key):
2273
2271
return self ._get_item_cache (key )
2274
2272
2275
2273
def _getitem_frame (self , key ):
2276
- if key .values . size and not is_bool_dtype ( key .values ):
2274
+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
2277
2275
raise ValueError ('Must pass DataFrame with boolean values only' )
2278
2276
return self .where (key )
2279
2277
@@ -2614,7 +2612,7 @@ def _setitem_frame(self, key, value):
2614
2612
)
2615
2613
key = self ._constructor (key , ** self ._construct_axes_dict ())
2616
2614
2617
- if key .values . size and not is_bool_dtype ( key .values ):
2615
+ if key .size and not key .dtypes . map ( is_bool_dtype ). all ( ):
2618
2616
raise TypeError (
2619
2617
'Must pass DataFrame or 2-d ndarray with boolean values only'
2620
2618
)
0 commit comments