簡體   English   中英

如何在Python中對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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM