用法:
pandas.api.extensions.register_index_accessor(name)
在 Index 对象上注册自定义访问器。
- name:str
访问者应注册的名称。如果此名称与预先存在的属性冲突,则会发出警告。
- 可调用的
类装饰器。
参数:
返回:
注意:
访问时,您的访问器将使用用户正在与之交互的 pandas 对象进行初始化。所以签名必须是
def __init__(self, pandas_object): # noqa:E999 ...
为了与 pandas 方法保持一致,如果传递给访问器的数据具有不正确的 dtype,则应引发
AttributeError
。>>> pd.Series(['a', 'b']).dt Traceback (most recent call last): ... AttributeError:Can only use .dt accessor with datetimelike values
例子:
在您的库代码中:
import pandas as pd @pd.api.extensions.register_dataframe_accessor("geo") class GeoAccessor: def __init__(self, pandas_obj): self._obj = pandas_obj @property def center(self): # return the geographic center point of this DataFrame lat = self._obj.latitude lon = self._obj.longitude return (float(lon.mean()), float(lat.mean())) def plot(self): # plot this array's data on a map, e.g., using Cartopy pass
回到交互式 IPython 会话:
In [1]:ds = pd.DataFrame({"longitude":np.linspace(0, 10), ...: "latitude":np.linspace(0, 20)}) In [2]:ds.geo.center Out[2]:(5.0, 10.0) In [3]:ds.geo.plot() # plots data on a map
相关用法
- Python pandas.api.extensions.register_dataframe_accessor用法及代码示例
- Python pandas.api.extensions.register_extension_dtype用法及代码示例
- Python pandas.api.extensions.register_series_accessor用法及代码示例
- Python pandas.api.extensions.ExtensionArray.take用法及代码示例
- Python pandas.api.extensions.ExtensionDtype用法及代码示例
- Python pandas.api.extensions.ExtensionArray.repeat用法及代码示例
- Python pandas.api.extensions.ExtensionDtype.construct_from_string用法及代码示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代码示例
- Python pandas.api.indexers.FixedForwardWindowIndexer用法及代码示例
- Python pandas.api.types.is_sparse用法及代码示例
- Python pandas.api.types.is_extension_array_dtype用法及代码示例
- Python pandas.api.indexers.check_array_indexer用法及代码示例
- Python pandas.api.types.is_extension_type用法及代码示例
- Python pandas.api.types.is_dict_like用法及代码示例
- Python pandas.api.types.is_float_dtype用法及代码示例
- Python pandas.api.types.is_datetime64_any_dtype用法及代码示例
- Python pandas.api.types.is_hashable用法及代码示例
- Python pandas.api.types.is_categorical用法及代码示例
- Python pandas.api.types.is_scalar用法及代码示例
- Python pandas.api.types.is_number用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.api.extensions.register_index_accessor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。