csv 如何将重复的值按每天一个来计数?

yk9xbfzb  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(114)

猫收容所有很多猫住在那里。经常进入收容所的流浪猫被给予包含RF(射频)标签的项圈。但是,有时并不是所有的猫每天都进入猫收容所。
在收容所的门上有一个传感器,当猫进入时,它会检测到一个包含RF标签的项圈。因此,一只猫每天可以被检测到多次进出收容所。这是传感器数据(简化)。

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

像这样的数据

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”的猫每天出现几次,但它仍然算作一只)。

taor4pac

taor4pac1#

您可以使用.groupby()来查看一只猫一天中出现了多少次,以及它进入了多少个不同的日子。

print(ans.groupby(["Name", "Date"])["Date"].count())

您会得到如下输出:

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

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

df_count = ans.groupby(["Name", "Date"]).agg({"Date": "count"})
print(df_count.groupby("Name").count())

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

Date
Name      
A        2
B        1
C        2
D        1
dfuffjeb

dfuffjeb2#

您希望的输出是什么?
你知道猫A在收容所待了多少天吗

相关问题