|
1 | 1 | # coding=utf-8
|
2 | 2 | # pylint: disable-msg=E1101,W0612
|
3 | 3 |
|
4 |
| -from collections import OrderedDict |
| 4 | +from collections import Counter, defaultdict, OrderedDict |
5 | 5 | import numpy as np
|
6 | 6 | import pandas as pd
|
7 | 7 |
|
@@ -411,6 +411,23 @@ def test_map_dict_with_tuple_keys(self):
|
411 | 411 | tm.assert_series_equal(df['labels'], df['expected_labels'],
|
412 | 412 | check_names=False)
|
413 | 413 |
|
| 414 | + def test_map_counter(self): |
| 415 | + s = Series(['a', 'b', 'c'], index=[1, 2, 3]) |
| 416 | + counter = Counter() |
| 417 | + counter['b'] = 5 |
| 418 | + counter['c'] += 1 |
| 419 | + result = s.map(counter) |
| 420 | + expected = Series([0, 5, 1], index=[1, 2, 3]) |
| 421 | + assert_series_equal(result, expected) |
| 422 | + |
| 423 | + def test_map_defaultdict(self): |
| 424 | + s = Series([1, 2, 3], index=['a', 'b', 'c']) |
| 425 | + default_dict = defaultdict(lambda: 'blank') |
| 426 | + default_dict[1] = 'stuff' |
| 427 | + result = s.map(default_dict) |
| 428 | + expected = Series(['stuff', 'blank', 'blank'], index=['a', 'b', 'c']) |
| 429 | + assert_series_equal(result, expected) |
| 430 | + |
414 | 431 | def test_map_box(self):
|
415 | 432 | vals = [pd.Timestamp('2011-01-01'), pd.Timestamp('2011-01-02')]
|
416 | 433 | s = pd.Series(vals)
|
|
0 commit comments