Morlock Morlock - 27 days ago 8
Python Question

Statistics: combinations in Python

I need to compute combinatorials (nCr) in Python but cannot find the function to do that in

math
,
numpy
or
stat
libraries. Something like a function of the type:

comb = calculate_combinations(n, r)


I need the number of possible combinations, not the actual combinations, so
itertools.combinations
does not interest me.

Finally, I want to avoid using factorials, as the numbers I'll be calculating the combinations for can get too big and the factorials are going to be monstrous.

This seems like a REALLY easy to answer question, however I am being drowned in questions about generating all the actual combinations, which is not what I want. :)

Many thanks

Answer

See scipy.misc.comb. When exact is False, it uses the gammaln function to obtain good precision without taking much time. In the exact case it returns an arbitrary-precision integer, which might take a long time to compute.