![](/img/trans.png)
[英]How to vectorize a for loop with conditions instead of iterating over a Pandas DataFrame
[英]How can I vectorize a loop over a Pandas DataFrame in 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)
由于您没有提供要使用的数据,因此未选中以下代码,但应该可以使用:
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数组上进行操作的更多信息,我建议本文 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.