在数据框的每一行中应用随机分布
applying random distribution in each row of data frame
我有以下数据框
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[=25= 的随机泊松分布]
我使用以下编码生成新列(col3 和 col4)。
df ['col3'] = int(sct.poisson.rvs(df.col1,size=1))
df ['col4'] = int(sct.poisson.rvs(df.col2,size=1))
这是我的数据框的最接近的示例,它非常庞大,包含 3,800,000 行。
我可以使用 for 循环生成它。我用的时间太长了。
如何在不使用循环的情况下根据数据帧生成随机泊松分布?
谢谢
齐普
尝试只使用:
df['col3'] = sct.poisson.rvs(df.col1)
df['col4'] = sct.poisson.rvs(df.col2)
我有以下数据框
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[=25= 的随机泊松分布] 我使用以下编码生成新列(col3 和 col4)。
df ['col3'] = int(sct.poisson.rvs(df.col1,size=1))
df ['col4'] = int(sct.poisson.rvs(df.col2,size=1))
这是我的数据框的最接近的示例,它非常庞大,包含 3,800,000 行。 我可以使用 for 循环生成它。我用的时间太长了。
如何在不使用循环的情况下根据数据帧生成随机泊松分布? 谢谢
齐普
尝试只使用:
df['col3'] = sct.poisson.rvs(df.col1)
df['col4'] = sct.poisson.rvs(df.col2)