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.
Fungsionalitas untuk fungsi statistik dengan DataFrame.
Mendukung Spark Connect
Sintaksis
DataFrame.stat
Metode
| Metode | Deskripsi |
|---|---|
approxQuantile(col, probabilities, relativeError) |
Menghitung perkiraan kuantil kolom numerik DataFrame. |
corr(col1, col2, method) |
Menghitung korelasi dua kolom sebagai nilai ganda. Saat ini hanya mendukung Koefisien Korelasi Pearson. |
cov(col1, col2) |
Menghitung kovarians sampel untuk kolom yang diberikan sebagai nilai ganda. |
crosstab(col1, col2) |
Menghitung tabel frekuensi sepasang yang bijaksana dari kolom yang diberikan. |
freqItems(cols, support) |
Menemukan item yang sering untuk kolom, mungkin dengan positif palsu. |
sampleBy(col, fractions, seed) |
Mengembalikan sampel yang di stratifikasi tanpa penggantian berdasarkan pecahan yang diberikan pada setiap stratum. |
Examples
Perkiraan kuantil
data = [(1,), (2,), (3,), (4,), (5,)]
df = spark.createDataFrame(data, ["values"])
df.stat.approxQuantile("values", [0.0, 0.5, 1.0], 0.05)
[1.0, 3.0, 5.0]
Korelasi
df = spark.createDataFrame([(1, 12), (10, 1), (19, 8)], ["c1", "c2"])
df.stat.corr("c1", "c2")
-0.3592106040535498
Kovarians
df = spark.createDataFrame([(1, 12), (10, 1), (19, 8)], ["c1", "c2"])
df.stat.cov("c1", "c2")
-18.0
Tabulasi silang
df = spark.createDataFrame([(1, 11), (1, 11), (3, 10), (4, 8), (4, 8)], ["c1", "c2"])
df.stat.crosstab("c1", "c2").sort("c1_c2").show()
+-----+---+---+---+
|c1_c2| 10| 11| 8|
+-----+---+---+---+
| 1| 0| 2| 0|
| 3| 1| 0| 0|
| 4| 0| 0| 2|
+-----+---+---+---+
Item yang sering
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, 11), (1, 11), (3, 10), (4, 8), (4, 8)], ["c1", "c2"])
df2 = df.stat.freqItems(["c1", "c2"])
df2.select([sf.sort_array(c).alias(c) for c in df2.columns]).show()
+------------+------------+
|c1_freqItems|c2_freqItems|
+------------+------------+
| [1, 3, 4]| [8, 10, 11]|
+------------+------------+
Sampel yang di stratifikasi
from pyspark.sql import functions as sf
dataset = spark.range(0, 100, 1, 5).select((sf.col("id") % 3).alias("key"))
dataset.stat.sampleBy("key", fractions={0: 0.1, 1: 0.2}, seed=0).groupBy("key").count().orderBy("key").show()
+---+-----+
|key|count|
+---+-----+
| 0| 4|
| 1| 9|
+---+-----+