如何添加datetime64 [ns]系列对象的唯一日期值

发布于 2025-02-05 12:02:00 字数 500 浏览 4 评论 0原文

我有类型DateTime64 [NS]的列(df.TimeFrame)。

DF具有列['ID','timeFrame','type']

df ['type']可以是'a'或'b',

我想获得唯一日期的总数 per df.type =='a''和per df.id

我尝试了此:

df = df.groupby(['id', 'type']).timeframe.apply(lambda x: x.dt.date()).unique().rename('test').reset_index()

但是有错误:

TypeError: 'Series' object is not callable

什么应该 :我愿意?

I have a column of type datetime64[ns] (df.timeframe).

df has columns ['id', 'timeframe', 'type']

df['type'] can be 'A' or 'B'

I want to get the total number of unique dates per df.type == 'A' and per df.id

I tried this:

df = df.groupby(['id', 'type']).timeframe.apply(lambda x: x.dt.date()).unique().rename('test').reset_index()

But got error:

TypeError: 'Series' object is not callable

What should I do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嗼ふ静 2025-02-12 12:02:00

您可以使用value_counts

df[df['type']=='A'].assign(timeframe=df['timeframe'].dt.date)
    .value_counts(['id','type','timeframe'], sort=False)
    .reset_index().rename(columns={0:'count'})

  id type  timeframe  count
0  1    A 2022-06-06      2
1  1    A 2022-06-08      1
2  1    A 2022-06-10      2
3  2    A 2022-06-07      1
4  2    A 2022-06-09      1
5  2    A 2022-06-10      1

You could use value_counts:

df[df['type']=='A'].assign(timeframe=df['timeframe'].dt.date)
    .value_counts(['id','type','timeframe'], sort=False)
    .reset_index().rename(columns={0:'count'})

  id type  timeframe  count
0  1    A 2022-06-06      2
1  1    A 2022-06-08      1
2  1    A 2022-06-10      2
3  2    A 2022-06-07      1
4  2    A 2022-06-09      1
5  2    A 2022-06-10      1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文