首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据分割为多个5秒数据格式,并在Python中获取计数。

将数据分割为多个5秒数据格式,并在Python中获取计数。
EN

Stack Overflow用户
提问于 2017-11-06 09:08:28
回答 1查看 293关注 0票数 2

我有一个相对较大的数据集,我想根据包含日期时间对象的列,在Python中分割成多个数据格式。列中的值(我希望用它来分割数据)是以以下格式提供的:

  1. 2015-11-01 00:00:05

您可以假设dataframe看起来是这样的。

如何通过以下方式将将数据分割为5秒间隔的

  1. 第一数据中心2015-11-01 00:00:00 - 2015-11-01 00:00:05
  2. 第二数据格式2015-11-01 00:00:05 - 2015-11-01 00:00:10,等等。

我还需要在每个结果数据中计算观察的数量。换句话说,如果我能够获得另一个带有2列的数据格式(所需的输出格式如下所示),那就更好了:

  • 第一列表示分裂的组(该列的值不重要:它们可以是1、2、3、.指出5秒间隔的顺序,例如,1可指2015年-11-01 00:00- 2015-11-01 : 00:00:05,2可指2015年-11-01: 00:00:05 - 2015-11-01 :00:10等等),
  • 第二列显示了在每个间隔内下降的观测数。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-06 09:09:31

创建dictionary of DataFrame并使用assign添加新列

代码语言:javascript
运行
复制
rng = pd.date_range('2015-11-01 00:00:00', periods=100, freq='S')
df = pd.DataFrame({'Date': rng, 'a': range(100)})  
print (df.head(10))
                 Date  a
0 2015-11-01 00:00:00  0
1 2015-11-01 00:00:01  1
2 2015-11-01 00:00:02  2
3 2015-11-01 00:00:03  3
4 2015-11-01 00:00:04  4
5 2015-11-01 00:00:05  5
6 2015-11-01 00:00:06  6
7 2015-11-01 00:00:07  7
8 2015-11-01 00:00:08  8
9 2015-11-01 00:00:09  9

g = df.groupby(pd.Grouper(key='Date', freq='5S'))

dfs = {k.strftime('%Y-%m-%d %H:%M:%S'):v.assign(A=range(1,len(v)+1), B=len(v)) for k,v in g}

print (dfs['2015-11-01 00:00:05'])
                 Date  a  A  B
5 2015-11-01 00:00:05  5  1  5
6 2015-11-01 00:00:06  6  2  5
7 2015-11-01 00:00:07  7  3  5
8 2015-11-01 00:00:08  8  4  5
9 2015-11-01 00:00:09  9  5  5

如果需要先计数行数,则将sizeInterval添加到索引中:

代码语言:javascript
运行
复制
df1 = df.groupby(pd.Grouper(key='Date', freq='5S')).size().reset_index(name='Count')
df1['Interval'] = df1.index + 1
print (df1.head())
                 Date  Count  Interval
0 2015-11-01 00:00:00      5         1
1 2015-11-01 00:00:05      5         2
2 2015-11-01 00:00:10      5         3
3 2015-11-01 00:00:15      5         4
4 2015-11-01 00:00:20      5         5
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47133250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档