@@ -785,11 +785,9 @@ def iterrows(self):
785
785
iteritems : Iterate over (column name, Series) pairs.
786
786
787
787
"""
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 ]
793
791
794
792
def itertuples (self , index = True , name = "Pandas" ):
795
793
"""
@@ -2765,7 +2763,7 @@ def _getitem_multilevel(self, key):
2765
2763
return self ._get_item_cache (key )
2766
2764
2767
2765
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 ( ):
2769
2767
raise ValueError ('Must pass DataFrame with boolean values only' )
2770
2768
return self .where (key )
2771
2769
@@ -3153,7 +3151,7 @@ def _setitem_frame(self, key, value):
3153
3151
)
3154
3152
key = self ._constructor (key , ** self ._construct_axes_dict ())
3155
3153
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 ( ):
3157
3155
raise TypeError (
3158
3156
'Must pass DataFrame or 2-d ndarray with boolean values only'
3159
3157
)
0 commit comments