久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

pyspark中的probnorm函數(shù)等效

probnorm function equivalent in pyspark(pyspark中的probnorm函數(shù)等效)
本文介紹了pyspark中的probnorm函數(shù)等效的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

PROBNORM:解釋

PROBNORM : explanation

SAS 中的 PROBNORM 函數(shù)返回標(biāo)準(zhǔn)正態(tài)分布的觀測值小于或等于 x 的概率.

The PROBNORM function in SAS returns the probability that an observation from the standard normal distribution is less than or equal to x.

pyspark中有沒有等價的功能?

Is there any equivalent function in pyspark?

推薦答案

恐怕PySpark中沒有這樣的實現(xiàn)方法.
但是,您可以利用 Pandas UDF 使用基本的 Python 包定義您自己的自定義函數(shù)!這里我們將使用 scipy.stats.norm 模塊從標(biāo)準(zhǔn)正態(tài)分布中獲取累積概率.

I'm afraid that in PySpark there is no such implemented method.
However, you can exploit Pandas UDFs to define your own custom function using basic Python packages! Here we are going to use scipy.stats.norm module to get cumulative probabilities from a standard normal distribution.

我正在使用的版本:

  • Spark 3.1.1
  • 熊貓 1.1.5
  • scipy 1.5.2

示例代碼

import pandas as pd
from scipy.stats import norm
import pyspark.sql.functions as F
from pyspark.sql.functions import pandas_udf


# create sample data
df = spark.createDataFrame([
    (1, 0.00),
    (2, -1.23),
    (3, 4.56),
], ['id', 'value'])


# define your custom Pandas UDF
@pandas_udf('double')
def probnorm(s: pd.Series) -> pd.Series:
    return pd.Series(norm.cdf(s))


# create a new column using the Pandas UDF
df = df.withColumn('pnorm', probnorm(F.col('value')))


df.show()

+---+-----+-------------------+
| id|value|              pnorm|
+---+-----+-------------------+
|  1|  0.0|                0.5|
|  2|-1.23|0.10934855242569191|
|  3| 4.56| 0.9999974423189606|
+---+-----+-------------------+


編輯

如果您的工作人員也沒有正確安裝 scipy,您可以使用 Python 基礎(chǔ)包 math 和一點 統(tǒng)計知識.


Edit

If you do not have scipy properly installed on your workers too, you can use the Python base package math and a little bit of statistics knowledge.

import math
from pyspark.sql.functions import udf

def normal_cdf(x, mu=0, sigma=1):
    """
    Cumulative distribution function for the normal distribution
    with mean `mu` and standard deviation `sigma`
    """
    return (1 + math.erf((x - mu) / (sigma * math.sqrt(2)))) / 2

my_udf = udf(normal_cdf)

df = df.withColumn('pnorm', my_udf(F.col('value')))

df.show()

+---+-----+-------------------+
| id|value|              pnorm|
+---+-----+-------------------+
|  1|  0.0|                0.5|
|  2|-1.23|0.10934855242569197|
|  3| 4.56| 0.9999974423189606|
+---+-----+-------------------+

結(jié)果其實是一樣的.

這篇關(guān)于pyspark中的probnorm函數(shù)等效的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How should I verify a log message when testing Python code under nose?(在鼻子下測試 Python 代碼時,我應(yīng)該如何驗證日志消息?)
Patch __call__ of a function(修補(bǔ)函數(shù)的 __call__)
How to call self in a mock method of an object in Python?(如何在 Python 中對象的模擬方法中調(diào)用 self?)
Mocking only a single method on an object(僅模擬對象上的單個方法)
Mocking a subprocess call in Python(在 Python 中模擬子進(jìn)程調(diào)用)
Checking call order across multiple mocks(檢查多個模擬的調(diào)用順序)
主站蜘蛛池模板: 香蕉在线播放 | 自拍偷拍欧美日韩 | 黄色一级片网站 | 欧美黄色一级大片 | 欧美一区二区三区在线观看 | 亚洲精品日本 | 国产成人一区二区 | 成人深夜福利视频 | 又色又爽又黄18网站 | 91美女片黄在线观看91美女 | 国产午夜免费视频 | av天天干 | 国产精品美女毛片真酒店 | 精品欧美黑人一区二区三区 | 免费毛片视频 | 国产a久久麻豆入口 | 婷婷综合久久 | 欧美日韩高清在线 | 免费黄色在线 | 日韩亚洲欧美在线观看 | 手机av在线 | 日本www色 | 日韩在线视频观看 | 欧美精品在线观看 | 久久中文网| 天堂网久久| 法国极品成人h版 | 九九热精品在线观看 | 人人超碰在线 | 午夜成人在线视频 | 天天摸天天干 | 日本不卡免费 | 91亚色视频 | 黄色免费网站 | 日本中文在线观看 | 91久久久久久久久 | 国产精品一区二区性色av | 一级片在线免费观看 | 日韩视频在线免费观看 | 免费一级大片 | 一级中国毛片 |