Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memetakan iterator batch dalam DataFrame saat ini menggunakan fungsi asli Python yang dilakukan pada Pandas DataFrames baik sebagai input dan output, dan mengembalikan hasilnya sebagai DataFrame.
Sintaksis
mapInPandas(func: "PandasMapIterFunction", schema: Union[StructType, str], barrier: bool = False, profile: Optional[ResourceProfile] = None)
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
func |
fungsi | fungsi asli Python yang mengambil iterator pandas.DataFrames, dan menghasilkan iterator pandas.DataFrames. |
schema |
DataType atau str | jenis func pengembalian dalam PySpark. Nilai dapat berupa pyspark.sql.types.DataType objek atau string jenis berformat DDL. |
barrier |
bool, opsional, default False | Gunakan eksekusi mode penghalang, memastikan bahwa semua pekerja Python dalam tahap akan diluncurkan secara bersamaan. |
profile |
ResourceProfile, opsional | ResourceProfile opsional yang akan digunakan untuk mapInPandas. |
Pengembalian Barang
DataFrame
Examples
df = spark.createDataFrame([(1, 21), (2, 30)], ("id", "age"))
def filter_func(iterator):
for pdf in iterator:
yield pdf[pdf.id == 1]
df.mapInPandas(filter_func, df.schema).show()
# +---+---+
# | id|age|
# +---+---+
# | 1| 21|
# +---+---+
def mean_age(iterator):
for pdf in iterator:
yield pdf.groupby("id").mean().reset_index()
df.mapInPandas(mean_age, "id: bigint, age: double").show()
# +---+----+
# | id| age|
# +---+----+
# | 1|21.0|
# | 2|30.0|
# +---+----+
df.mapInPandas(filter_func, df.schema, barrier=True).collect()
# [Row(id=1, age=21)]