轴别名(Aliasing Axis Names)

To globally provide aliases for axis names, one can define these 2 functions:

  1. In [189]: def set_axis_alias(cls, axis, alias):
  2. .....: if axis not in cls._AXIS_NUMBERS:
  3. .....: raise Exception("invalid axis [%s] for alias [%s]" % (axis, alias))
  4. .....: cls._AXIS_ALIASES[alias] = axis
  5. .....:
  1. In [190]: def clear_axis_alias(cls, axis, alias):
  2. .....: if axis not in cls._AXIS_NUMBERS:
  3. .....: raise Exception("invalid axis [%s] for alias [%s]" % (axis, alias))
  4. .....: cls._AXIS_ALIASES.pop(alias,None)
  5. .....:
  1. In [191]: set_axis_alias(pd.DataFrame,'columns', 'myaxis2')
  2. In [192]: df2 = pd.DataFrame(np.random.randn(3,2),columns=['c1','c2'],index=['i1','i2','i3'])
  3. In [193]: df2.sum(axis='myaxis2')
  4. Out[193]:
  5. i1 0.745167
  6. i2 -0.176251
  7. i3 0.014354
  8. dtype: float64
  9. In [194]: clear_axis_alias(pd.DataFrame,'columns', 'myaxis2')