|
28 | 28 | import pandas.core.nanops as nanops
|
29 | 29 |
|
30 | 30 | import pandas.util.testing as tm
|
31 |
| - |
| 31 | +import pandas as pd |
32 | 32 |
|
33 | 33 | def commonSetUp(self):
|
34 | 34 | self.dateRange = bdate_range('1/1/2005', periods=250)
|
@@ -481,6 +481,36 @@ def test_apply_describe_bug(self):
|
481 | 481 | grouped = self.mframe.groupby(level='first')
|
482 | 482 | result = grouped.describe() # it works!
|
483 | 483 |
|
| 484 | + def test_apply_issues(self): |
| 485 | + # GH 5788 |
| 486 | + |
| 487 | + s="""2011.05.16,00:00,1.40893 |
| 488 | +2011.05.16,01:00,1.40760 |
| 489 | +2011.05.16,02:00,1.40750 |
| 490 | +2011.05.16,03:00,1.40649 |
| 491 | +2011.05.17,02:00,1.40893 |
| 492 | +2011.05.17,03:00,1.40760 |
| 493 | +2011.05.17,04:00,1.40750 |
| 494 | +2011.05.17,05:00,1.40649 |
| 495 | +2011.05.18,02:00,1.40893 |
| 496 | +2011.05.18,03:00,1.40760 |
| 497 | +2011.05.18,04:00,1.40750 |
| 498 | +2011.05.18,05:00,1.40649""" |
| 499 | + |
| 500 | + df = pd.read_csv(StringIO(s), header=None, names=['date', 'time', 'value'], parse_dates=[['date', 'time']]) |
| 501 | + df = df.set_index('date_time') |
| 502 | + |
| 503 | + expected = df.groupby(df.index.date).idxmax() |
| 504 | + result = df.groupby(df.index.date).apply(lambda x: x.idxmax()) |
| 505 | + assert_frame_equal(result,expected) |
| 506 | + |
| 507 | + # GH 5789 |
| 508 | + # don't auto coerce dates |
| 509 | + df = pd.read_csv(StringIO(s), header=None, names=['date', 'time', 'value']) |
| 510 | + expected = Series(['00:00','02:00','02:00'],index=['2011.05.16','2011.05.17','2011.05.18']) |
| 511 | + result = df.groupby('date').apply(lambda x: x['time'][x['value'].idxmax()]) |
| 512 | + assert_series_equal(result,expected) |
| 513 | + |
484 | 514 | def test_len(self):
|
485 | 515 | df = tm.makeTimeDataFrame()
|
486 | 516 | grouped = df.groupby([lambda x: x.year,
|
|
0 commit comments