[英]Applying poisson.cdf to create a column in a pandas dataframe
我有一個 pandas dataframe 有兩列,比如 x 和 y。 對於每一行,x 是服從泊松分布的隨機變量的平均值。 我想添加第三列 z,使得 z = 隨機抽取小於 y 的概率。
對於給定的行,假設 x = 15,我想知道隨機抽取小於 y = 10 的概率。我知道我可以使用:
from scipy.stats import poisson
x = 15
y = 10
z = poisson.cdf(y, x)
z
返回 0.118
如何為 pandas dataframe 中的每一行執行此操作,創建第三列?
您可以使用apply
方法:
df = pd.DataFrame({"x": [15, 15, 15], "y": [10, 15, 20]})
df["z"] = df.apply(lambda r: poisson.cdf(r.y, r.x), axis=1)
print(df)
結果:
x y z
0 15 10 0.118464
1 15 15 0.568090
2 15 20 0.917029
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.