Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktioner för statistiska funktioner med en DataFrame.
Stöder Spark Connect
Syntax
DataFrame.stat
Methods
| Metod | Beskrivning |
|---|---|
approxQuantile(col, probabilities, relativeError) |
Beräknar ungefärliga quantiles för numeriska kolumner i en DataFrame. |
corr(col1, col2, method) |
Beräknar korrelationen mellan två kolumner som ett dubbelt värde. Stöder för närvarande endast Pearson Correlation Coefficient. |
cov(col1, col2) |
Beräknar samvariansexemplet för de angivna kolumnerna som ett dubbelt värde. |
crosstab(col1, col2) |
Beräknar en parvis frekvenstabell med de angivna kolumnerna. |
freqItems(cols, support) |
Hittar vanliga objekt för kolumner, eventuellt med falska positiva identifieringar. |
sampleBy(col, fractions, seed) |
Returnerar ett stratifierat prov utan ersättning baserat på bråket som anges på varje stratum. |
Exempel
Ungefärliga kvantantiler
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]
Korrelation
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
Korsflikning
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|
+-----+---+---+---+
Vanliga objekt
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]|
+------------+------------+
Stratifierat exempel
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|
+---+-----+