File tree 2 files changed +11
-3
lines changed
2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -883,9 +883,8 @@ def series_generator(self):
883
883
# of it. Kids: don't do this at home.
884
884
ser = self .obj ._ixs (0 , axis = 0 )
885
885
mgr = ser ._mgr
886
- blk = mgr .blocks [0 ]
887
886
888
- if is_extension_array_dtype (blk .dtype ):
887
+ if is_extension_array_dtype (ser .dtype ):
889
888
# values will be incorrect for this block
890
889
# TODO(EA2D): special case would be unnecessary with 2D EAs
891
890
obj = self .obj
@@ -896,7 +895,7 @@ def series_generator(self):
896
895
for (arr , name ) in zip (values , self .index ):
897
896
# GH#35462 re-pin mgr in case setitem changed it
898
897
ser ._mgr = mgr
899
- blk . values = arr
898
+ mgr . set_values ( arr )
900
899
ser .name = name
901
900
yield ser
902
901
Original file line number Diff line number Diff line change @@ -1646,6 +1646,15 @@ def fast_xs(self, loc):
1646
1646
"""
1647
1647
raise NotImplementedError ("Use series._values[loc] instead" )
1648
1648
1649
+ def set_values (self , values : ArrayLike ):
1650
+ """
1651
+ Set the values of the single block in place.
1652
+
1653
+ Use at your own risk! This does not check if the passed values are
1654
+ valid for the current Block/SingleBlockManager (length, dtype, etc).
1655
+ """
1656
+ self .blocks [0 ].values = values
1657
+
1649
1658
1650
1659
# --------------------------------------------------------------------
1651
1660
# Constructor Helpers
You can’t perform that action at this time.
0 commit comments