首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将重复值计算为每天一次?

如何将重复值计算为每天一次?
EN

Stack Overflow用户
提问于 2022-10-10 11:55:55
回答 2查看 35关注 0票数 -1

猫收容所有许多猫住在那里。经常进入庇护所的流浪猫被给予一个项圈,里面有射频标签。然而,有时并不是所有的猫进入猫的庇护所每天。

在庇护所的门口,有一个传感器,当猫进入时,它检测带有射频标签的项圈。因此,每天有一只猫在收容所内外被检测到。这是传感器数据(简化)。

代码语言:javascript
运行
复制
data = {'Date': ['01-09-2022', '01-09-2022', '01-09-2022', '01-09-2022', '02-09-2022', '02-09-2022', '02-09-2022', '02-09-2022', '03-09-2022', '03-09-2022', '03-09-2022', '03-09-2022', '03-09-2022'],
        'Name': ['A', 'A', 'A', 'A', 'B', 'C', 'C', 'B', 'D', 'C', 'C', 'D', 'A']}
df = pd.DataFrame(data)
df

像这样的数据

代码语言:javascript
运行
复制
    Date        Name
0   01-09-2022  A
1   01-09-2022  A
2   01-09-2022  A
3   01-09-2022  A
4   02-09-2022  B
5   02-09-2022  C
6   02-09-2022  C
7   02-09-2022  B
8   03-09-2022  D
9   03-09-2022  C
10  03-09-2022  C
11  03-09-2022  D
12  03-09-2022  A

问题是,我怎么知道一只叫"A“的猫每三天来收容所几天?(虽然这只名为"A“的猫每天出现几次,但它仍然算是一只)。

EN

回答 2

Stack Overflow用户

发布于 2022-10-10 12:36:37

您可以使用.groupby()查看一天中猫的次数,以及猫进入的不同日子。

代码语言:javascript
运行
复制
print(ans.groupby(["Name", "Date"])["Date"].count())

你可以得到这样的输出:

代码语言:javascript
运行
复制
Name  Date      
A     01-09-2022    4
      03-09-2022    1
B     02-09-2022    2
C     02-09-2022    2
      03-09-2022    2
D     03-09-2022    2
Name: Date, dtype: int64

然后,保存这个,检查一只在不同的日子里进入的猫。

代码语言:javascript
运行
复制
df_count = ans.groupby(["Name", "Date"]).agg({"Date": "count"})
print(df_count.groupby("Name").count())

我想,这就是你问题的答案。

代码语言:javascript
运行
复制
      Date
Name      
A        2
B        1
C        2
D        1
票数 1
EN

Stack Overflow用户

发布于 2022-10-10 12:01:39

你想要的输出是什么?

df[df['Name']=='A'].drop_duplicates()你知道猫“A”进收容所有多少天吗

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74014567

复制
相关文章

相似问题

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