为了账号安全,请及时绑定邮箱和手机立即绑定

用熊猫重新采样

用熊猫重新采样

子衿沉夜 2021-03-29 12:39:37
我有一个类似于以下文件的数据集2013-05-30 06:00:41    173.199.116.1712013-05-30 06:05:41    61.245.172.142013-05-30 06:10:42    74.86.158.1062013-05-30 06:20:42    61.245.172.14我想对其进行20分钟的重新采样,并获取某个20分钟时隙的点击计数(例如,介于(06.00.00-06.20.00或06.40.00-07.00.00等之间)。我可以打印点击计数整个数据文件如下。ips = df.groupby('IP').size()如何获得每20分钟广告位的点击计数?下面的代码仅显示“ 06:00:00”和“ 06:20:00”之间的所有IP。df_s = df['IP'].resample('20t', how='count')print df['IP'].between_time('06:00:00', '06:20:00')
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

这是0.11.1(即将推出)中提供的一种新方法,提供了组过滤机制,谢谢@DanAllen


In [49]: df

Out[49]: 

                                  ip

date_time                           

2013-05-30 06:00:41  173.199.116.171

2013-05-30 06:05:41    61.245.172.14

2013-05-30 06:10:42    74.86.158.106

2013-05-30 06:20:42    61.245.172.14


In [50]: df.groupby(pd.TimeGrouper('20min')).filter(lambda x: x.between_time('06:00:00', '06:20:00'))

Out[50]: 

                                  ip

date_time                           

2013-05-30 06:00:41  173.199.116.171

2013-05-30 06:05:41    61.245.172.14

2013-05-30 06:10:42    74.86.158.106


查看完整回答
反对 回复 2021-04-01
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

第一个计算每个20分钟时段的所有行


In [11]: df1.IP.resample('20t', how='count')  # I usually prefer '20min'

Out[11]:

datetime

2013-05-30 06:00:00    3

2013-05-30 06:20:00    1

dtype: int64

第二个在某些时间之间获取这些行:


In [12]: df1.IP.between_time('06:00:00', '06:20:00')

Out[12]:

datetime

2013-05-30 06:00:41    173.199.116.171

2013-05-30 06:05:41      61.245.172.14

2013-05-30 06:10:42      74.86.158.106

Name: IP, dtype: object

有可能是一个很好地解决了一般问题(所以你不需要指定的时间)使用TimeGrouper,但是这是我能做到的,打印所有分组的最好的:


In [13]: tg = pd.TimeGrouper('20t')


In [14]: g = df1.groupby(tg)


In [15]: def f(x):

             print x

             return x


In [16]: _ = g.apply(f)                # the '_ =' bit just suppresses ouput

                                  IP

datetime

2013-05-30 06:00:41  173.199.116.171

2013-05-30 06:05:41    61.245.172.14

2013-05-30 06:10:42    74.86.158.106

                                IP

datetime

2013-05-30 06:20:42  61.245.172.14


查看完整回答
反对 回复 2021-04-01
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信