@@ -1460,8 +1460,93 @@ def describe(self, **kwargs):
1460
1460
@Appender (_doc_template )
1461
1461
def resample (self , rule , * args , ** kwargs ):
1462
1462
"""
1463
- Provide resampling when using a TimeGrouper
1464
- Return a new grouper with our resampler appended
1463
+ Provide resampling when using a TimeGrouper.
1464
+
1465
+ Given a grouper the function resamples it according to a string and an
1466
+ optional list and dictionary of parameters. Returns a new grouper with
1467
+ our resampler appended.
1468
+
1469
+ Parameters
1470
+ ----------
1471
+ rule : str
1472
+ The offset string or object representing target grouper conversion.
1473
+ *args
1474
+ These parameters will be passed to the get_resampler_for_grouping
1475
+ function which builds the approriate resampler and checks for
1476
+ deprecated parameters.
1477
+ **kwargs
1478
+ These parameters will be passed to the get_resampler_for_grouping
1479
+ function which builds the approriate resampler and checks for
1480
+ deprecated parameters.
1481
+
1482
+ Returns
1483
+ -------
1484
+ Grouper
1485
+ Return a new grouper with our resampler appended.
1486
+
1487
+ Examples
1488
+ --------
1489
+ Start by creating a DataFrame with 9 one minute timestamps.
1490
+
1491
+ >>> idx = pd.date_range('1/1/2000', periods=9, freq='T')
1492
+ >>> df = pd.DataFrame(data=9*[range(4)],
1493
+ ... index=idx,
1494
+ ... columns=['a', 'b', 'c', 'd'])
1495
+ >>> df.iloc[[6], [0]] = 5 # change a value for grouping
1496
+ >>> df
1497
+ a b c d
1498
+ 2000-01-01 00:00:00 0 1 2 3
1499
+ 2000-01-01 00:01:00 0 1 2 3
1500
+ 2000-01-01 00:02:00 0 1 2 3
1501
+ 2000-01-01 00:03:00 0 1 2 3
1502
+ 2000-01-01 00:04:00 0 1 2 3
1503
+ 2000-01-01 00:05:00 0 1 2 3
1504
+ 2000-01-01 00:06:00 5 1 2 3
1505
+ 2000-01-01 00:07:00 0 1 2 3
1506
+ 2000-01-01 00:08:00 0 1 2 3
1507
+
1508
+ Downsample the DataFrame into 3 minute bins and sum the values of
1509
+ the timestamps falling into a bin.
1510
+
1511
+ >>> df.groupby('a').resample('3T').sum()
1512
+ a b c d
1513
+ a
1514
+ 0 2000-01-01 00:00:00 0 3 6 9
1515
+ 2000-01-01 00:03:00 0 3 6 9
1516
+ 2000-01-01 00:06:00 0 2 4 6
1517
+ 5 2000-01-01 00:06:00 5 1 2 3
1518
+
1519
+ Upsample the series into 30 second bins.
1520
+
1521
+ >>> df.groupby('a').resample('30S').sum()
1522
+ a b c d
1523
+ a
1524
+ 0 2000-01-01 00:00:00 0 1 2 3
1525
+ 2000-01-01 00:00:30 0 0 0 0
1526
+ 2000-01-01 00:01:00 0 1 2 3
1527
+ 2000-01-01 00:01:30 0 0 0 0
1528
+ 2000-01-01 00:02:00 0 1 2 3
1529
+ 2000-01-01 00:02:30 0 0 0 0
1530
+ 2000-01-01 00:03:00 0 1 2 3
1531
+ 2000-01-01 00:03:30 0 0 0 0
1532
+ 2000-01-01 00:04:00 0 1 2 3
1533
+ 2000-01-01 00:04:30 0 0 0 0
1534
+ 2000-01-01 00:05:00 0 1 2 3
1535
+ 2000-01-01 00:05:30 0 0 0 0
1536
+ 2000-01-01 00:06:00 0 0 0 0
1537
+ 2000-01-01 00:06:30 0 0 0 0
1538
+ 2000-01-01 00:07:00 0 1 2 3
1539
+ 2000-01-01 00:07:30 0 0 0 0
1540
+ 2000-01-01 00:08:00 0 1 2 3
1541
+ 5 2000-01-01 00:06:00 5 1 2 3
1542
+
1543
+ Resample by month. Values are assigned to the month of the period.
1544
+
1545
+ >>> df.groupby('a').resample('M').sum()
1546
+ a b c d
1547
+ a
1548
+ 0 2000-01-31 0 8 16 24
1549
+ 5 2000-01-31 5 1 2 3
1465
1550
"""
1466
1551
from pandas .core .resample import get_resampler_for_grouping
1467
1552
return get_resampler_for_grouping (self , rule , * args , ** kwargs )
0 commit comments