Quickly retrieve single value at passed index label. Parameters ---------- label : object takeable : interpret the index as indexers, default False Returns ------- scalar value
(self, label, takeable: bool = False)
| 1027 | return self._constructor_from_mgr(new_mgr, axes=new_mgr.axes).__finalize__(self) |
| 1028 | |
| 1029 | def _get_value(self, label, takeable: bool = False): |
| 1030 | """ |
| 1031 | Quickly retrieve single value at passed index label. |
| 1032 | |
| 1033 | Parameters |
| 1034 | ---------- |
| 1035 | label : object |
| 1036 | takeable : interpret the index as indexers, default False |
| 1037 | |
| 1038 | Returns |
| 1039 | ------- |
| 1040 | scalar value |
| 1041 | """ |
| 1042 | if takeable: |
| 1043 | return self._values[label] |
| 1044 | |
| 1045 | # Similar to Index.get_value, but we do not fall back to positional |
| 1046 | loc = self.index.get_loc(label) |
| 1047 | |
| 1048 | if is_integer(loc): |
| 1049 | return self._values[loc] |
| 1050 | |
| 1051 | if isinstance(self.index, MultiIndex): |
| 1052 | mi = self.index |
| 1053 | new_values = self._values[loc] |
| 1054 | if len(new_values) == 1 and mi.nlevels == 1: |
| 1055 | # If more than one level left, we can not return a scalar |
| 1056 | return new_values[0] |
| 1057 | |
| 1058 | new_index = mi[loc] |
| 1059 | new_index = maybe_droplevels(new_index, label) |
| 1060 | new_ser = self._constructor( |
| 1061 | new_values, index=new_index, name=self.name, copy=False |
| 1062 | ) |
| 1063 | if isinstance(loc, slice): |
| 1064 | new_ser._mgr.add_references(self._mgr) |
| 1065 | return new_ser.__finalize__(self) |
| 1066 | |
| 1067 | else: |
| 1068 | return self.iloc[loc] |
| 1069 | |
| 1070 | def __setitem__(self, key, value) -> None: |
| 1071 | if not CHAINED_WARNING_DISABLED: |