Skip to content

Commit 8574ff1

Browse files
committed
TST: groupby tests for tz interations
1 parent 066783c commit 8574ff1

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

pandas/tests/test_groupby.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3753,6 +3753,29 @@ def test_groupby_groups_datetimeindex_tz(self):
37533753
result = df.groupby(level=0).sum()
37543754
assert_frame_equal(result, expected)
37553755

3756+
def test_groupby_multi_timezone(self):
3757+
3758+
# combining multiple / different timezones yields UTC
3759+
3760+
data="""0,2000-01-28 16:47:00,America/Chicago
3761+
1,2000-01-29 16:48:00,America/Chicago
3762+
2,2000-01-30 16:49:00,America/Los_Angeles
3763+
3,2000-01-31 16:50:00,America/Chicago
3764+
4,2000-01-01 16:50:00,America/New_York"""
3765+
3766+
df = pd.read_csv(StringIO(data),header=None, names=['value','date','tz'])
3767+
result = df.groupby('tz').date.apply(lambda x: pd.to_datetime(x).dt.tz_localize(x.name))
3768+
3769+
expected = pd.to_datetime(Series(['2000-01-28 22:47:00', '2000-01-29 22:48:00', '2000-01-31 00:49:00', '2000-01-31 22:50:00', '2000-01-01 21:50:00']))
3770+
assert_series_equal(result, expected)
3771+
3772+
tz = 'America/Chicago'
3773+
result = pd.to_datetime(df.groupby('tz').date.get_group(tz)).dt.tz_localize(tz)
3774+
expected = pd.to_datetime(Series(['2000-01-28 16:47:00', '2000-01-29 16:48:00','2000-01-31 16:50:00'],
3775+
index=[0,1,3],
3776+
name='date')).dt.tz_localize(tz)
3777+
assert_series_equal(result, expected)
3778+
37563779
def test_groupby_reindex_inside_function(self):
37573780
from pandas.tseries.api import DatetimeIndex
37583781

0 commit comments

Comments
 (0)