Pandas 在每行数据帧中应用随机分布

Pandas 在每行数据帧中应用随机分布,pandas,for-loop,random,scipy,poisson,Pandas,For Loop,Random,Scipy,Poisson,我有以下数据帧 import numpy as np import pandas as pd import scipy as sc import scipy.stats as sct d= {'col1': [1, 2,5,0.6], 'col2': [3, 4,1,0.8]} df = pd. DataFrame(data=d) 我想在该数据帧中添加两个新列,但两个新列的元素是col1和col2的随机泊松分布 我使用以下编码来生成新列(col3和col4) 这是我的数据框的一个小例子

我有以下数据帧

import numpy as np
import pandas as pd
import scipy as sc
import scipy.stats as sct    
d= {'col1': [1, 2,5,0.6], 'col2': [3, 4,1,0.8]}
df = pd. DataFrame(data=d)
我想在该数据帧中添加两个新列,但两个新列的元素是col1col2的随机泊松分布 我使用以下编码来生成新列(col3和col4

这是我的数据框的一个小例子,它相当大,包含3800000行。 我可以使用for循环生成它。我花了太长时间

如何在不使用循环的情况下基于数据帧生成随机泊松分布? 谢谢

Zep

尝试使用:

df['col3'] = sct.poisson.rvs(df.col1)
df['col4'] = sct.poisson.rvs(df.col2)

你好,利奥,谢谢你的回复,它适用于这个例子。当我将其应用于我的程序时,显示出以下错误:“无法根据“安全”规则将数组数据从dtype('O')转换为dtype('float64')@Zephyr you's welcome。如果这回答了你的问题,如果你能接受我的回答,我将不胜感激。
df['col3'] = sct.poisson.rvs(df.col1)
df['col4'] = sct.poisson.rvs(df.col2)