pyspark.pandas.extensions.register_index_accessor¶
-
pyspark.pandas.extensions。
register_index_accessor
( 的名字:str )→可調用的( (類型(T] ] ,類型(T] ] ¶ -
注冊自定義索引訪問器
- 參數
-
- 的名字 str
-
注冊後名字調用時使用訪問器
- 返回
-
- 可調用的
-
一個類裝飾器。
另請參閱
-
register_dataframe_accessor
-
注冊一個定製的訪問器DataFrame對象
-
register_series_accessor
-
注冊一個定製的訪問器係列對象
筆記
當你訪問,訪問器將initialiazed pandas-on-Spark對象用戶交互。代碼簽名必須:
def__init__(自我,pandas_on_spark_obj):#構造函數邏輯…
在熊貓的API,如果數據傳遞給你的訪問器有一個不正確的dtype,提出建議
AttributeError
一致性的目的。在pandas-on-Spark,ValueError
更經常使用注釋當一個值的數據類型是意想不到的對於一個給定的方法/函數。最終可以結構這個但是你喜歡,但pandas-on-Spark可能會這樣做:
> > >ps。係列([“一個”,“b”])。dt…回溯(最近的電話):…ValueError:不能叫DatetimeMethods StringType類型()
例子
在你的庫代碼:
從pyspark.pandas.extensions進口register_index_accessor@register_index_accessor(“foo”)類CustomAccessor:def__init__(自我,pandas_on_spark_obj):自我。_obj=pandas_on_spark_obj自我。項=“記者”@ propertydef酒吧(自我):#返回項的值返回自我。項
然後,在一個ipython會話:
> > ># #如果訪問其他文件導入。> > >#從my_ext_lib CustomAccessor進口> > >psdf=ps。DataFrame({“經”:np。linspace(0,10),…“人肉搜索”:np。linspace(0,20.)})> > >psdf。指數。噴火。酒吧“記者”