pyspark.pandas.extensions.register_dataframe_accessor

pyspark.pandas.extensions。 register_dataframe_accessor ( 的名字:str )→可調用的( (類型(T] ] ,類型(T] ]

注冊自定義DataFrame訪問器

參數
的名字 str

注冊後名字調用時使用訪問器

返回
可調用的

一個類裝飾器。

另請參閱

register_series_accessor

注冊一個定製的訪問器係列對象

register_index_accessor

注冊自定義訪問器在索引對象

筆記

當你訪問,訪問器將initialiazed pandas-on-Spark對象用戶交互。訪問器的init方法應該攝取被訪問的對象。看到的例子init簽名。

在熊貓的API,如果數據傳遞給你的訪問器有一個不正確的dtype,提出建議AttributeError一致性的目的。在pandas-on-Spark,ValueError更經常使用注釋當一個值的數據類型是意想不到的對於一個給定的方法/函數。

最終可以結構這個但是你喜歡,但pandas-on-Spark可能會這樣做:

> > >ps係列([“一個”,“b”])dt回溯(最近的電話):ValueError:不能叫DatetimeMethods StringType類型()

例子

在你的庫代碼:

pyspark.pandas.extensions進口register_dataframe_accessor@register_dataframe_accessor(“地理”)GeoAccessor:def__init__(自我,pandas_on_spark_obj):自我_obj=pandas_on_spark_obj#其他構造函數邏輯@ propertydef中心(自我):#返回這個DataFrame的地理中心點緯度=自我_obj緯度=自我_obj經度返回(浮動(的意思是()),浮動(緯度的意思是()))def情節(自我):#情節這個數組的數據在地圖上通過

然後,在一個ipython會話:

> > ># #如果訪問其他文件導入。> > >#從my_ext_lib GeoAccessor進口> > >psdf=psDataFrame({“經”:nplinspace(0,10),“人肉搜索”:nplinspace(0,20.)})> > >psdf地理中心(5.0,10.0)> > >psdf地理情節()