如何在Python中对数据帧上的循环进行矢量化?

2024-06-17 08:22:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要让这个代码通过矢量化快速运行

final1 = pd.DataFrame()
for index, row in demo1.iterrows():
    a = np.random.choice([0, 1], size=1000, p=[1 - row['prob'], row['prob']])
    b = a * row['syb'] * (1 + row['percentage_change_syb'] / 100)
    final1 = final1.append(pd.DataFrame(b).T)

Tags: 代码indataframeforindexnprandom矢量化
1条回答
网友
1楼 · 发布于 2024-06-17 08:22:15

由于您没有提供要处理的数据,因此将取消选中以下代码,但它应该可以工作:

def computation(prob, syb, percentage_change_syb):
    a = np.random.choice([0, 1], size=1000, p=[1 - prob, prob])
    b = a * syb * (1 + percentage_change_syb / 100)
    return b.T

final1 = computation(demo1['prob'].values, demo1['syb'].values, demo1['percentage_change_syb'].values)

有关在NumPy数组上操作的更多信息,我建议使用this article。你知道吗

相关问题 更多 >