按类别和时间戳分组的熊猫数据框

银劳厄斯

我有一个看起来像这样的日期框架:

timestamp               class
2019-07-01 00:59:56     A
2019-07-01 11:24:19     B
2019-07-01 12:41:34     B
2019-08-01 05:22:11     A
2019-08-01 07:05:06     A

现在我需要知道在特定的一天我每个班有多少行。

因此,最终结果应如下所示:

timestamp       class    count
2019-07-01      A        1
2019-07-01      B        2
2019-08-01      A        2

我不确定我该如何开始解决这个问题。

提前致谢!

耶斯列尔

使用GroupBy.sizeSeries.dt.date

#if necessary
df['timestamp'] = pd.to_datetime(df['timestamp'])

df1 = df.groupby([df['timestamp'].dt.date,'class']).size().reset_index(name='count')
print (df1)
    timestamp class  count
0  2019-07-01     A      1
1  2019-07-01     B      2
2  2019-08-01     A      2

GroupBy.count在后面指定列groupby

df1 = df.groupby([df['timestamp'].dt.date,'class'])['class'].count().reset_index(name='count')
print (df1)
    timestamp class  count
0  2019-07-01     A      1
1  2019-07-01     B      2
2  2019-08-01     A      2

区别在于count不包括缺失值size但是因为这里也将class列传递给groupbyinby参数,所以它的工作原理相同-两种解决方案都排除缺失值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章