larray.Array.set_labels¶
-
Array.
set_labels
(self, axis=None, labels=None, inplace=False, **kwargs)[source]¶ Replaces the labels of one or several axes of the array.
- Parameters
- axisstring or Axis or dict
Axis for which we want to replace labels, or mapping {axis: changes} where changes can either be the complete list of labels, a mapping {old_label: new_label} or a function to transform labels. If there is no ambiguity (two or more axes have the same labels), axis can be a direct mapping {old_label: new_label}.
- labelsint, str, iterable or mapping or function, optional
Integer or list of values usable as the collection of labels for an Axis. If this is mapping, it must be {old_label: new_label}. If it is a function, it must be a function accepting a single argument (a label) and returning a single value. This argument must not be used if axis is a mapping.
- inplacebool, optional
Whether or not to modify the original object or return a new array and leave the original intact. Defaults to False.
- **kwargs :
axis`=`labels for each axis you want to set labels.
- Returns
- Array
Array with modified labels.
See also
Examples
>>> a = ndtest('nat=BE,FO;sex=M,F') >>> a nat\sex M F BE 0 1 FO 2 3 >>> a.set_labels('sex', ['Men', 'Women']) nat\sex Men Women BE 0 1 FO 2 3
when passing a single string as labels, it will be interpreted to create the list of labels, so that one can use the same syntax than during axis creation.
>>> a.set_labels('sex', 'Men,Women') nat\sex Men Women BE 0 1 FO 2 3
to replace only some labels, one must give a mapping giving the new label for each label to replace
>>> a.set_labels('sex', {'M': 'Men'}) nat\sex Men F BE 0 1 FO 2 3
to transform labels by a function, use any function accepting and returning a single argument:
>>> a.set_labels('nat', str.lower) nat\sex M F be 0 1 fo 2 3
to replace labels for several axes at the same time, one should give a mapping giving the new labels for each changed axis
>>> a.set_labels({'sex': 'Men,Women', 'nat': 'Belgian,Foreigner'}) nat\sex Men Women Belgian 0 1 Foreigner 2 3
or use keyword arguments
>>> a.set_labels(sex='Men,Women', nat='Belgian,Foreigner') nat\sex Men Women Belgian 0 1 Foreigner 2 3
one can also replace some labels in several axes by giving a mapping of mappings
>>> a.set_labels({'sex': {'M': 'Men'}, 'nat': {'BE': 'Belgian'}}) nat\sex Men F Belgian 0 1 FO 2 3
when there is no ambiguity (two or more axes have the same labels), it is possible to give a mapping between old and new labels
>>> a.set_labels({'M': 'Men', 'BE': 'Belgian'}) nat\sex Men F Belgian 0 1 FO 2 3