繁体   English   中英

如何在python程序中使用概率

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM