我有一个Pandas数据框,有两列,比如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 中的每一行执行此操作,创建第三列?
8nuwlpux1#
您可以使用apply方法:
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
1条答案
按热度按时间8nuwlpux1#
您可以使用
apply
方法:结果: