python - Pandas 按日期分组并重新采样

标签 python pandas

我有一些数据框,如下所示:

    A   B   C   date
0   J   Y   2   2013-02-01 14:21:02.070030
1   X   X   0   2013-02-01 15:49:33.110849
2   Y   D   9   2013-02-01 06:47:19.369514
3   Y   C   17  2013-02-01 08:56:11.751781
4   3   J   21  2013-02-01 14:19:12.017232

我想按日期分组然后计数,但省略有关小时、分钟、秒等的信息。

看起来像这样的工作:

df.set_index('date').resample('D').count()

两个问题:

  1. 为什么会这样?这是正确的方法吗?
  2. 为什么像 df.group_by('date').resample('D').count() 这样的东西不起作用?

最佳答案

resample 在某种意义上只是 groupby 的一种特殊情况 - 而不是对不同值进行分组,这是 grouppy('date') 所做的,它分组基于时间的索引转换,这就是您需要设置索引的原因。或者,您可以这样做:

df.groupby(pd.Grouper(key='date', freq='D')).count()

在即将推出的版本0.19.0中,您将能够像这样编写上面的内容。

df.resample('D', on='date').count()

关于python - Pandas 按日期分组并重新采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39401821/

相关文章:

python - 切片 Pandas 数据框以获得不连续的列

python - 为什么在使用 pandas.read_csv 后列名错误

python - 将列值连接到 Pandas 中的行值

python - 如何使用office365-rest-python-api从sharepoint下载文件

php - 获取退出代码(一)在Symfony中使用Process的Error输出中的错误和输出

python - 适当的 DataFrame 切片修改

python - 如何在Python中按数据框过滤列表?

python - 如何在 webapp2 中处理上传的文件

python - 在 Python 中使用正则表达式在开头或结尾匹配模式时出现问题

python - 如何在 Python 中编辑文本文件?