J'ai un fichier Excel avec différents cas et environ 75 événements pour chaque cas. Il y a une probabilité que chaque événement se produise dans chaque cas. Ainsi, le fichier Excel ressemble à ceci:Génération de nombres à partir de probabilités dans un fichier csv en python
event1 event2 ... event75
case1 0.0343 0.0234 ... 0.1194
case2 0.0924 0.0532 ... 0.0023
Je veux générer un nombre aléatoire en python, allant de 0 à 75 avec les probabilités du cas donné. Lorsque je travaillais avec des cas avec seulement deux événements qui pourraient se produire, j'ai utilisé un code comme ceci:
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
Toutefois, lorsque la gamme d'événements deviennent plus importants que je ne sais pas ce qui serait un moyen plus efficace de le faire . Merci pour l'aide.
* Pas même que l'autre question que je reçois les probabilités d'Excel
Vous avez 75 événements, mais 76 valeurs de retour (0-75); Quel est le supplément? – Prune
Je pensais que lorsque la plage (0,75), il ne comprend pas 75, donc il est 75 valeurs, 0 à 74 – memokerobi