Python collections.Counter.__init__() Examples
The following are 30
code examples of collections.Counter.__init__().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
collections.Counter
, or try the search function
.
Example #1
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def __init__(self, freqdist, bins=None): """ Use the expected likelihood estimate to create a probability distribution for the experiment used to generate ``freqdist``. :type freqdist: FreqDist :param freqdist: The frequency distribution that the probability estimates should be based on. :type bins: int :param bins: The number of sample values that can be generated by the experiment that is described by the probability distribution. This value must be correctly set for the probabilities of the sample values to sum to one. If ``bins`` is not specified, it defaults to ``freqdist.B()``. """ LidstoneProbDist.__init__(self, freqdist, 0.5, bins)
Example #2
Source File: test_collections.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_equality_Set(self): class MySet(Set): def __init__(self, itr): self.contents = itr def __contains__(self, x): return x in self.contents def __iter__(self): return iter(self.contents) def __len__(self): return len([x for x in self.contents]) s1 = MySet((1,)) s2 = MySet((1, 2)) s3 = MySet((3, 4)) s4 = MySet((3, 4)) self.assertTrue(s2 > s1) self.assertTrue(s1 < s2) self.assertFalse(s2 <= s1) self.assertFalse(s2 <= s3) self.assertFalse(s1 >= s2) self.assertEqual(s3, s4) self.assertNotEqual(s2, s3)
Example #3
Source File: test_collections.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_init(self): OrderedDict = self.OrderedDict with self.assertRaises(TypeError): OrderedDict([('a', 1), ('b', 2)], None) # too many args pairs = [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)] self.assertEqual(sorted(OrderedDict(dict(pairs)).items()), pairs) # dict input self.assertEqual(sorted(OrderedDict(**dict(pairs)).items()), pairs) # kwds input self.assertEqual(list(OrderedDict(pairs).items()), pairs) # pairs input self.assertEqual(list(OrderedDict([('a', 1), ('b', 2), ('c', 9), ('d', 4)], c=3, e=5).items()), pairs) # mixed input # make sure no positional args conflict with possible kwdargs self.assertEqual(list(OrderedDict(self=42).items()), [('self', 42)]) self.assertEqual(list(OrderedDict(other=42).items()), [('other', 42)]) self.assertRaises(TypeError, OrderedDict, 42) self.assertRaises(TypeError, OrderedDict, (), ()) self.assertRaises(TypeError, OrderedDict.__init__) # Make sure that direct calls to __init__ do not clear previous contents d = OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 44), ('e', 55)]) d.__init__([('e', 5), ('f', 6)], g=7, d=4) self.assertEqual(list(d.items()), [('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6), ('g', 7)])
Example #4
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def __init__(self, freqdist, bins=None): """ :param freqdist: The frequency counts upon which to base the estimation. :type freqdist: FreqDist :param bins: The number of possible event types. This must be larger than the number of bins in the ``freqdist``. If None, then it's assumed to be equal to ``freqdist``.B() + 1 :type bins: int """ assert ( bins is None or bins > freqdist.B() ), 'bins parameter must not be less than %d=freqdist.B()+1' % (freqdist.B() + 1) if bins is None: bins = freqdist.B() + 1 self._freqdist = freqdist self._bins = bins r, nr = self._r_Nr() self.find_best_fit(r, nr) self._switch(r, nr) self._renormalize(r, nr)
Example #5
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def __init__(self, prob_dist, samples, store_logs=True): """ Creates the mutable probdist based on the given prob_dist and using the list of samples given. These values are stored as log probabilities if the store_logs flag is set. :param prob_dist: the distribution from which to garner the probabilities :type prob_dist: ProbDist :param samples: the complete set of samples :type samples: sequence of any :param store_logs: whether to store the probabilities as logarithms :type store_logs: bool """ self._samples = samples self._sample_dict = dict((samples[i], i) for i in range(len(samples))) self._data = array.array(str("d"), [0.0]) * len(samples) for i in range(len(samples)): if store_logs: self._data[i] = prob_dist.logprob(samples[i]) else: self._data[i] = prob_dist.prob(samples[i]) self._logs = store_logs
Example #6
Source File: test_collections.py From android_universal with MIT License | 6 votes |
def test_equality_Set(self): class MySet(Set): def __init__(self, itr): self.contents = itr def __contains__(self, x): return x in self.contents def __iter__(self): return iter(self.contents) def __len__(self): return len([x for x in self.contents]) s1 = MySet((1,)) s2 = MySet((1, 2)) s3 = MySet((3, 4)) s4 = MySet((3, 4)) self.assertTrue(s2 > s1) self.assertTrue(s1 < s2) self.assertFalse(s2 <= s1) self.assertFalse(s2 <= s3) self.assertFalse(s1 >= s2) self.assertEqual(s3, s4) self.assertNotEqual(s2, s3)
Example #7
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def __init__(self, freqdist, bins=None): """ Use the Laplace estimate to create a probability distribution for the experiment used to generate ``freqdist``. :type freqdist: FreqDist :param freqdist: The frequency distribution that the probability estimates should be based on. :type bins: int :param bins: The number of sample values that can be generated by the experiment that is described by the probability distribution. This value must be correctly set for the probabilities of the sample values to sum to one. If ``bins`` is not specified, it defaults to ``freqdist.B()``. """ LidstoneProbDist.__init__(self, freqdist, 1, bins)
Example #8
Source File: test_collections.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_equality_Set(self): class MySet(Set): def __init__(self, itr): self.contents = itr def __contains__(self, x): return x in self.contents def __iter__(self): return iter(self.contents) def __len__(self): return len([x for x in self.contents]) s1 = MySet((1,)) s2 = MySet((1, 2)) s3 = MySet((3, 4)) s4 = MySet((3, 4)) self.assertTrue(s2 > s1) self.assertTrue(s1 < s2) self.assertFalse(s2 <= s1) self.assertFalse(s2 <= s3) self.assertFalse(s1 >= s2) self.assertEqual(s3, s4) self.assertNotEqual(s2, s3)
Example #9
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def __init__(self, samples=None): """ Construct a new frequency distribution. If ``samples`` is given, then the frequency distribution will be initialized with the count of each object in ``samples``; otherwise, it will be initialized to be empty. In particular, ``FreqDist()`` returns an empty frequency distribution; and ``FreqDist(samples)`` first creates an empty frequency distribution, and then calls ``update`` with the list ``samples``. :param samples: The samples to initialize the frequency distribution with. :type samples: Sequence """ Counter.__init__(self, samples) # Cached number of samples in this FreqDist self._N = None
Example #10
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def __init__(self, **kwargs): """ Initialize this object's probability. This initializer should be called by subclass constructors. ``prob`` should generally be the first argument for those constructors. :param prob: The probability associated with the object. :type prob: float :param logprob: The log of the probability associated with the object. :type logprob: float """ if 'prob' in kwargs: if 'logprob' in kwargs: raise TypeError('Must specify either prob or logprob ' '(not both)') else: ProbabilisticMixIn.set_prob(self, kwargs['prob']) elif 'logprob' in kwargs: ProbabilisticMixIn.set_logprob(self, kwargs['logprob']) else: self.__prob = self.__logprob = None
Example #11
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 6 votes |
def __init__(self, samples): """ Construct a new uniform probability distribution, that assigns equal probability to each sample in ``samples``. :param samples: The samples that should be given uniform probability. :type samples: list :raise ValueError: If ``samples`` is empty. """ if len(samples) == 0: raise ValueError( 'A Uniform probability distribution must ' + 'have at least one sample.' ) self._sampleset = set(samples) self._prob = 1.0 / len(self._sampleset) self._samples = list(self._sampleset)
Example #12
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def __init__(self, *args, **kwds): self.called = False Counter.__init__(self, *args, **kwds)
Example #13
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def __init__(self, it=()): self.data = set(it)
Example #14
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def test_init(self): self.assertEqual(list(Counter(self=42).items()), [('self', 42)]) self.assertEqual(list(Counter(iterable=42).items()), [('iterable', 42)]) self.assertEqual(list(Counter(iterable=None).items()), [('iterable', None)]) self.assertRaises(TypeError, Counter, 42) self.assertRaises(TypeError, Counter, (), ()) self.assertRaises(TypeError, Counter.__init__)
Example #15
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def __init__(self, freqdist, bins=None, discount=0.75): """ :param freqdist: The trigram frequency distribution upon which to base the estimation :type freqdist: FreqDist :param bins: Included for compatibility with nltk.tag.hmm :type bins: int or float :param discount: The discount applied when retrieving counts of trigrams :type discount: float (preferred, but can be set to int) """ if not bins: self._bins = freqdist.B() else: self._bins = bins self._D = discount # cache for probability calculation self._cache = {} # internal bigram and trigram frequency distributions self._bigrams = defaultdict(int) self._trigrams = freqdist # helper dictionaries used to calculate probabilities self._wordtypes_after = defaultdict(float) self._trigrams_contain = defaultdict(float) self._wordtypes_before = defaultdict(float) for w0, w1, w2 in freqdist: self._bigrams[(w0, w1)] += freqdist[(w0, w1, w2)] self._wordtypes_after[(w0, w1)] += 1 self._trigrams_contain[w1] += 1 self._wordtypes_before[(w1, w2)] += 1
Example #16
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def test_Sequence_mixins(self): class SequenceSubclass(Sequence): def __init__(self, seq=()): self.seq = seq def __getitem__(self, index): return self.seq[index] def __len__(self): return len(self.seq) # Compare Sequence.index() behavior to (list|str).index() behavior def assert_index_same(seq1, seq2, index_args): try: expected = seq1.index(*index_args) except ValueError: with self.assertRaises(ValueError): seq2.index(*index_args) else: actual = seq2.index(*index_args) self.assertEqual( actual, expected, '%r.index%s' % (seq1, index_args)) for ty in list, str: nativeseq = ty('abracadabra') indexes = [-10000, -9999] + list(range(-3, len(nativeseq) + 3)) seqseq = SequenceSubclass(nativeseq) for letter in set(nativeseq) | {'z'}: assert_index_same(nativeseq, seqseq, (letter,)) for start in range(-3, len(nativeseq) + 3): assert_index_same(nativeseq, seqseq, (letter, start)) for stop in range(-3, len(nativeseq) + 3): assert_index_same( nativeseq, seqseq, (letter, start, stop))
Example #17
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def test_issue26915(self): # Container membership test should check identity first class CustomEqualObject: def __eq__(self, other): return False class CustomSequence(Sequence): def __init__(self, seq): self._seq = seq def __getitem__(self, index): return self._seq[index] def __len__(self): return len(self._seq) nan = float('nan') obj = CustomEqualObject() seq = CustomSequence([nan, obj, nan]) containers = [ seq, ItemsView({1: nan, 2: obj}), ValuesView({1: nan, 2: obj}) ] for container in containers: for elem in container: self.assertIn(elem, container) self.assertEqual(seq.index(nan), 0) self.assertEqual(seq.index(obj), 1) self.assertEqual(seq.count(nan), 2) self.assertEqual(seq.count(obj), 1)
Example #18
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def test_issue_4920(self): # MutableSet.pop() method did not work class MySet(MutableSet): __slots__=['__s'] def __init__(self,items=None): if items is None: items=[] self.__s=set(items) def __contains__(self,v): return v in self.__s def __iter__(self): return iter(self.__s) def __len__(self): return len(self.__s) def add(self,v): result=v not in self.__s self.__s.add(v) return result def discard(self,v): result=v in self.__s self.__s.discard(v) return result def __repr__(self): return "MySet(%s)" % repr(list(self)) s = MySet([5,43,2,1]) self.assertEqual(s.pop(), 1)
Example #19
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def test_isdisjoint_Set(self): class MySet(Set): def __init__(self, itr): self.contents = itr def __contains__(self, x): return x in self.contents def __iter__(self): return iter(self.contents) def __len__(self): return len([x for x in self.contents]) s1 = MySet((1, 2, 3)) s2 = MySet((4, 5, 6)) s3 = MySet((1, 5, 6)) self.assertTrue(s1.isdisjoint(s2)) self.assertFalse(s1.isdisjoint(s3))
Example #20
Source File: test_collections.py From android_universal with MIT License | 5 votes |
def test_hash_Set(self): class OneTwoThreeSet(Set): def __init__(self): self.contents = [1, 2, 3] def __contains__(self, x): return x in self.contents def __len__(self): return len(self.contents) def __iter__(self): return iter(self.contents) def __hash__(self): return self._hash() a, b = OneTwoThreeSet(), OneTwoThreeSet() self.assertTrue(hash(a) == hash(b))
Example #21
Source File: test_collections.py From ironpython2 with Apache License 2.0 | 5 votes |
def validate_comparison(self, instance): ops = ['lt', 'gt', 'le', 'ge', 'ne', 'or', 'and', 'xor', 'sub'] operators = {} for op in ops: name = '__' + op + '__' operators[name] = getattr(operator, name) class Other: def __init__(self): self.right_side = False def __eq__(self, other): self.right_side = True return True __lt__ = __eq__ __gt__ = __eq__ __le__ = __eq__ __ge__ = __eq__ __ne__ = __eq__ __ror__ = __eq__ __rand__ = __eq__ __rxor__ = __eq__ __rsub__ = __eq__ for name, op in operators.items(): if not hasattr(instance, name): continue other = Other() op(instance, other) self.assertTrue(other.right_side,'Right side not called for %s.%s' % (type(instance), name))
Example #22
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def __init__(self, prob_dict=None, log=False, normalize=False): """ Construct a new probability distribution from the given dictionary, which maps values to probabilities (or to log probabilities, if ``log`` is true). If ``normalize`` is true, then the probability values are scaled by a constant factor such that they sum to 1. If called without arguments, the resulting probability distribution assigns zero probability to all values. """ self._prob_dict = prob_dict.copy() if prob_dict is not None else {} self._log = log # Normalize the distribution, if requested. if normalize: if len(prob_dict) == 0: raise ValueError( 'A DictionaryProbDist must have at least one sample ' + 'before it can be normalized.' ) if log: value_sum = sum_logs(list(self._prob_dict.values())) if value_sum <= _NINF: logp = math.log(1.0 / len(prob_dict), 2) for x in prob_dict: self._prob_dict[x] = logp else: for (x, p) in self._prob_dict.items(): self._prob_dict[x] -= value_sum else: value_sum = sum(self._prob_dict.values()) if value_sum == 0: p = 1.0 / len(prob_dict) for x in prob_dict: self._prob_dict[x] = p else: norm_factor = 1.0 / value_sum for (x, p) in self._prob_dict.items(): self._prob_dict[x] *= norm_factor
Example #23
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def __init__(self, samples): if len(samples) == 0: raise ValueError( 'A probability distribution must ' + 'have at least one sample.' ) self._probs = self.unirand(samples) self._samples = list(self._probs.keys())
Example #24
Source File: probability.py From V1EngineeringInc-Docs with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def __init__(self): """ Classes inheriting from ProbDistI should implement __init__. """
Example #25
Source File: test_collections.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_init(self): self.assertEqual(list(Counter(self=42).items()), [('self', 42)]) self.assertEqual(list(Counter(iterable=42).items()), [('iterable', 42)]) self.assertEqual(list(Counter(iterable=None).items()), [('iterable', None)]) self.assertRaises(TypeError, Counter, 42) self.assertRaises(TypeError, Counter, (), ()) self.assertRaises(TypeError, Counter.__init__)
Example #26
Source File: test_collections.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def __init__(self, *args, **kwds): self.called = False Counter.__init__(self, *args, **kwds)
Example #27
Source File: test_collections.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def __init__(self, *args, **kwds): self.called = False Counter.__init__(self, *args, **kwds)
Example #28
Source File: test_collections.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_Sequence_mixins(self): class SequenceSubclass(Sequence): def __init__(self, seq=()): self.seq = seq def __getitem__(self, index): return self.seq[index] def __len__(self): return len(self.seq) # Compare Sequence.index() behavior to (list|str).index() behavior def assert_index_same(seq1, seq2, index_args): try: expected = seq1.index(*index_args) except ValueError: with self.assertRaises(ValueError): seq2.index(*index_args) else: actual = seq2.index(*index_args) self.assertEqual( actual, expected, '%r.index%s' % (seq1, index_args)) for ty in list, str: nativeseq = ty('abracadabra') indexes = [-10000, -9999] + list(range(-3, len(nativeseq) + 3)) seqseq = SequenceSubclass(nativeseq) for letter in set(nativeseq) | {'z'}: assert_index_same(nativeseq, seqseq, (letter,)) for start in range(-3, len(nativeseq) + 3): assert_index_same(nativeseq, seqseq, (letter, start)) for stop in range(-3, len(nativeseq) + 3): assert_index_same( nativeseq, seqseq, (letter, start, stop))
Example #29
Source File: test_collections.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_issue_4920(self): # MutableSet.pop() method did not work class MySet(MutableSet): __slots__=['__s'] def __init__(self,items=None): if items is None: items=[] self.__s=set(items) def __contains__(self,v): return v in self.__s def __iter__(self): return iter(self.__s) def __len__(self): return len(self.__s) def add(self,v): result=v not in self.__s self.__s.add(v) return result def discard(self,v): result=v in self.__s self.__s.discard(v) return result def __repr__(self): return "MySet(%s)" % repr(list(self)) s = MySet([5,43,2,1]) self.assertEqual(s.pop(), 1)
Example #30
Source File: test_collections.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_isdisjoint_Set(self): class MySet(Set): def __init__(self, itr): self.contents = itr def __contains__(self, x): return x in self.contents def __iter__(self): return iter(self.contents) def __len__(self): return len([x for x in self.contents]) s1 = MySet((1, 2, 3)) s2 = MySet((4, 5, 6)) s3 = MySet((1, 5, 6)) self.assertTrue(s1.isdisjoint(s2)) self.assertFalse(s1.isdisjoint(s3))