熊猫用日期计数行

时间:2020-01-07 15:38:42

标签: python pandas dataframe

我有一个这样的DataFrame:

      Date         X       Y
0  2002-01-01     ...     ...
1  2002-01-01     ...     ...
2  2002-01-03     ...     ...
3  2002-01-04     ...     ...
4  2002-01-04     ...     ...
5  2002-01-04     ...     ...

我的目标是获得一个额外的列,该列对具有相同日期的行进行计数,并删除重复项:

      Date         X       Y      Count
0  2002-01-01     ...     ...       2
1  2002-01-03     ...     ...       1
2  2002-01-04     ...     ...       3

我已经阅读了几篇文章,并尝试了.unique.size().transform().value_counts(),但没有一个能帮助我解决问题。即使简单的.drop_duplicates(subset='Date')也不起作用。

编辑:Date列是使用.dt.date创建的。

2 个答案:

答案 0 :(得分:3)

尝试一下:

import 'package:flutter/services.dart';
/// ...
SystemChrome.setSystemUIOverlayStyle(
    SystemUiOverlayStyle(statusBarBrightness: Brightness.light) // Or Brightness.dark
);

答案 1 :(得分:1)

从计算每个日期发生多少次开始:

cnt = df.groupby('Date').size().rename('Count')

需要将赋予 cnt 的名称作为相应名称 结果中的列。

然后计算结果:

result = df.drop_duplicates(subset='Date')\
    .merge(cnt, left_on='Date', right_index=True)

步骤是:

  • 删除重复项(默认情况下,保留第一行)。
  • cnt 添加 Count 列。来自 cnt 的索引值(日期) 与 Date 列匹配。