簡體   English   中英

R 到 Python 元素邏輯條件下的翻譯問題

[英]R to Python translation problem in element wise logical condition

我在 R 中有以下代碼:

N = 100 # number of data points
unifvec = runif(N)
d1 = rpois(sum(unifvec < 0.5),la1);d1
 [1] 3 1 1 0 0 0 0 2 1 1 1 0 2 1 0 1 2 0 1 0 1 1 0 0 1 1 0 1 1 3 0
[32] 2 2 1 4 0 1 0 1 1 1 1 3 0 0 2 0 1 1 1 1 3

試圖在 Python 中翻譯它我正在做:

la1 = 1
N = 100 # number of data points
unifvec = np.random.uniform(0,1,N)
d1 = np.random.poisson(la1,sum(la1,unifvec < 0.5))

但我收到一個錯誤:

TypeError: 'int' object is not iterable

如何在 Python 中重現相同的結果?

sum function 以錯誤的順序接收 arguments。

sum(la1,unifvec < 0.5)更改為sum(unifvec < 0.5, la1)后,它工作正常。

import numpy as np

la1 = 1
N = 100  # number of data points
unifvec = np.random.uniform(0, 1, N)
d1 = np.random.poisson(la1, sum(unifvec < 0.5, la1))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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