Return a list of the most frequently occurring values. Will return more than one result if there are multiple modes or an empty list if *data* is empty. >>> multimode('aabbbbbbbbcc') ['b'] >>> multimode('aabbbbccddddeeffffgg') ['b', 'd', 'f'] >>> multimode('')
(data)
| 714 | |
| 715 | |
| 716 | def multimode(data): |
| 717 | """Return a list of the most frequently occurring values. |
| 718 | |
| 719 | Will return more than one result if there are multiple modes |
| 720 | or an empty list if *data* is empty. |
| 721 | |
| 722 | >>> multimode('aabbbbbbbbcc') |
| 723 | ['b'] |
| 724 | >>> multimode('aabbbbccddddeeffffgg') |
| 725 | ['b', 'd', 'f'] |
| 726 | >>> multimode('') |
| 727 | [] |
| 728 | """ |
| 729 | counts = Counter(iter(data)) |
| 730 | if not counts: |
| 731 | return [] |
| 732 | maxcount = max(counts.values()) |
| 733 | return [value for value, count in counts.items() if count == maxcount] |
| 734 | |
| 735 | |
| 736 | # Notes on methods for computing quantiles |