0

さまざまなケースと、ケースごとに約 75 のイベントを含む Excel ファイルがあります。それぞれのケースで、それぞれのイベントが発生する可能性があります。したがって、Excel ファイルは次のようになります。

       event1  event2 ...   event75    

case1  0.0343  0.0234 ...   0.1194

case2  0.0924  0.0532 ...   0.0023

指定されたケースの確率で 0 から 75 の範囲の乱数を Python で生成したいと考えています。発生する可能性のあるイベントが 2 つだけのケースを扱ったとき、次のようなコードを使用しました。

excel_cases = pd.read_csv('/.../cases.csv')

def event_probabilities(case):
event_probability = excel_cases.loc[excel_cases['Case'] == case, 'event1'].values[0]
return event_probability

event1_probability = event_probabilities("case1")
np.random.choice(np.arange(1, 3), p=[event1_probability, (1 - event1_probability)])
# can also do an event2_probability instead of 1-event1_probability

ただし、イベントの範囲が大きくなると、これを行うためのより効率的な方法はわかりません。助けてくれてありがとう。

*Excelから確率を取得しているため、他の質問とは異なります

4

1 に答える 1