[英]how to use probability in python program
我如何计算 python 中的概率?
给定具有以下值的数据集A
: [40, 10, 10, 20, 10]
如何计算收到值 10 的概率? (10 共出现 3 次,3/5 = 0.6
这是我写的代码:
#!/usr/bin/env python3
"""reducer.py"""
import sys
# Create a dictionary to map marks
Marksprob = {}
# Get input from stdin
for line in sys.stdin:
#Remove spaces from beginning and end of the line
line = line.strip()
# parse the input from mapper.py
ClassA, Marks = line.split('\t', 1)
# Create function that returns probability percent rounded to one decimal place
def event_probability(event_outcomes, sample_space):
probability = (event_outcomes / sample_space) * 100
return round(probability, 1)
# Sample Space
ClassA = 25
# Determine the probability of drawing a heart
Marks = 12
grade_probability = event_probability(Marks, ClassA)
# Print each probability
print(str(grade_probability) + '%')
有很多方法可以做到这一点,但这里有一个可能的解决方案:
import numpy as np
import collections
npArray= np.array([40, 10, 10, 20, 10])
c=collections.Counter(npArray) # Generate a dictionary {"value":"nbOfOccurrences"}
arraySize=npArray.size
nbOfOccurrences=c[10] #assuming you want the proba to get 10
proba=(nbOfOccurrences/arraySize)*100
print(proba) #print 60.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.