本文簡要介紹
pyspark.pandas.extensions.register_dataframe_accessor 的用法。用法:
pyspark.pandas.extensions.register_dataframe_accessor(name: str) → Callable[[Type[T]], Type[T]]使用 DataFrame 注冊自定義訪問器
- name:str
注冊後調用訪問者時使用的名稱
- 可調用的
類裝飾器。
參數:
返回:
注意:
訪問時,您的訪問器將使用用戶正在與之交互的pandas-on-Spark 對象進行初始化。訪問者的 init 方法應該總是攝取被訪問的對象。請參閱初始化簽名的示例。
在 pandas API 中,如果傳遞給您的訪問器的數據具有不正確的 dtype,建議提高
AttributeError以保持一致性。在pandas-on-Spark 中,ValueError更常用於在給定方法/函數的值的數據類型意外時進行注釋。最終,您可以隨意構建它,但 pandas-on-Spark 可能會執行以下操作:
>>> ps.Series(['a', 'b']).dt ... Traceback (most recent call last): ... ValueError: Cannot call DatetimeMethods on type StringType例子:
在您的庫代碼中:
from pyspark.pandas.extensions import register_dataframe_accessor @register_dataframe_accessor("geo") class GeoAccessor: def __init__(self, pandas_on_spark_obj): self._obj = pandas_on_spark_obj # other constructor logic @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 pass然後,在 ipython 會話中:
>>> ## Import if the accessor is in the other file. >>> # from my_ext_lib import GeoAccessor >>> psdf = ps.DataFrame({"longitude": np.linspace(0,10), ... "latitude": np.linspace(0, 20)}) >>> psdf.geo.center (5.0, 10.0) >>> psdf.geo.plot()
相關用法
- Python pyspark register_index_accessor用法及代碼示例
- Python pyspark register_series_accessor用法及代碼示例
- Python pyspark regexp_extract用法及代碼示例
- Python pyspark regexp_replace用法及代碼示例
- Python pyspark read_json用法及代碼示例
- Python pyspark reverse用法及代碼示例
- Python pyspark read_parquet用法及代碼示例
- Python pyspark read_spark_io用法及代碼示例
- Python pyspark read_delta用法及代碼示例
- Python pyspark read_orc用法及代碼示例
- Python pyspark read_table用法及代碼示例
- Python pyspark read_sql_query用法及代碼示例
- Python pyspark repeat用法及代碼示例
- Python pyspark read_excel用法及代碼示例
- Python pyspark read_csv用法及代碼示例
- Python pyspark read_sql_table用法及代碼示例
- Python pyspark read_sql用法及代碼示例
- Python pyspark read_html用法及代碼示例
- Python pyspark range用法及代碼示例
- Python pyspark rand用法及代碼示例
- Python pyspark rpad用法及代碼示例
- Python pyspark round用法及代碼示例
- Python pyspark randn用法及代碼示例
- Python pyspark create_map用法及代碼示例
- Python pyspark date_add用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.extensions.register_dataframe_accessor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
