从 python pandas 中的长序列数据计算概率
calculating probability from long series data in python pandas
我有一个数据在19到49之间,如何计算数据出现在25到40之间的概率?
46.58762816
30.50477684
27.4195249
47.98157313
44.55425608
30.21066503
34.27381019
48.19934524
46.82233375
46.05077036
42.63647302
40.11270346
48.04909583
24.18660332
24.47549276
44.45442651
19.24542913
37.44141763
28.41079638
21.69325455
31.32887617
26.26988582
18.19898804
19.01329026
28.33846808
您可以做的最简单的事情是使用介于 25 和 40 之间的值的百分比。
如果 s
是你的 pandas.Series
你给了我们:
In [1]: s.head()
Out[1]:
0 46.587628
1 30.504777
2 27.419525
3 47.981573
4 44.554256
Name: 0, dtype: float64
In [2]: # calculate number of values between 25 and 40 and divide by total count
s.between(25,40).sum()/float(s.count())
Out[2]: 0.3599
否则,它需要尝试找出您的数据可能遵循的分布(根据您提供的数据,这可能只是您数据的一小部分样本,它似乎没有遵循我所知道的任何分布。 ..),测试它是否真的遵循你认为它遵循的分布(使用 Kolmogorov-Smirnov 测试或其他类似的测试),然后你可以使用该分布来计算概率等
我有一个数据在19到49之间,如何计算数据出现在25到40之间的概率?
46.58762816
30.50477684
27.4195249
47.98157313
44.55425608
30.21066503
34.27381019
48.19934524
46.82233375
46.05077036
42.63647302
40.11270346
48.04909583
24.18660332
24.47549276
44.45442651
19.24542913
37.44141763
28.41079638
21.69325455
31.32887617
26.26988582
18.19898804
19.01329026
28.33846808
您可以做的最简单的事情是使用介于 25 和 40 之间的值的百分比。
如果 s
是你的 pandas.Series
你给了我们:
In [1]: s.head()
Out[1]:
0 46.587628
1 30.504777
2 27.419525
3 47.981573
4 44.554256
Name: 0, dtype: float64
In [2]: # calculate number of values between 25 and 40 and divide by total count
s.between(25,40).sum()/float(s.count())
Out[2]: 0.3599
否则,它需要尝试找出您的数据可能遵循的分布(根据您提供的数据,这可能只是您数据的一小部分样本,它似乎没有遵循我所知道的任何分布。 ..),测试它是否真的遵循你认为它遵循的分布(使用 Kolmogorov-Smirnov 测试或其他类似的测试),然后你可以使用该分布来计算概率等