我正在读取包含以下数据的csv文件:
Create Date, Original Filesize, Number of Encodings
2016-01-27 16:27:10, 855583191, 1
2016-01-27 16:28:11, 854336, 1
2016-01-27 16:28:25, 854336, 1
2016-01-27 16:30:12, 9691559, 1
我想计算表格中每两分钟生成的记录数。
E.g。如果我们从2016-01-27 16:27:00
开始
然后从2016-01-27 16:27:01
到2016-01-27 16:29:00
,我们有2
条记录。
从2016-01-27 16:29:01
到2016-01-27 16:31:00
,我们有1
条记录等等。
我正在尝试使用pandas,因为我想稍后对其进行一些数据分析。是否有一个简单的方法可以使用/不使用熊猫?
此外,我首先使用mysql
导出此数据。如果使用sql
更容易,那也没关系。
答案 0 :(得分:4)
print df.resample('2min').sum()
Original Filesize Number of Encodings
Create Date
2016-01-27 16:26:00 855583191 1
2016-01-27 16:28:00 1708672 2
2016-01-27 16:30:00 9691559 1
print df.resample('2min', base=1).sum()
Original Filesize Number of Encodings
Create Date
2016-01-27 16:27:00 857291863 3
2016-01-27 16:29:00 9691559 1
或者,如果您只需要汇总列Number of Encodings
:
print df.resample('2min')['Number of Encodings'].sum().reset_index()
Create Date Number of Encodings
0 2016-01-27 16:26:00 1
1 2016-01-27 16:28:00 2
2 2016-01-27 16:30:00 1
print df.resample('2min', base=1)['Number of Encodings'].sum().reset_index()
Create Date Number of Encodings
0 2016-01-27 16:27:00 3
1 2016-01-27 16:29:00 1
如果您只需要计算行数,则size
会聚合更多通用:
print df.resample('2min').size().reset_index(name='count')
Create Date count
0 2016-01-27 16:26:00 1
1 2016-01-27 16:28:00 2
2 2016-01-27 16:30:00 1
print df.resample('2min', base=1).size().reset_index(name='count')
Create Date count
0 2016-01-27 16:27:00 3
1 2016-01-27 16:29:00 1