python - 计算值/字符串是否在python中按日期重复出现
问题描述
我只想在重新出现时计算名称(字符串)。重新出现的值/字符串应按日期分组。我不想数第一次出现。
import pandas as pd
df = pd.DataFrame()
df['date'] = ['2020-01-01', '2020-01-01','2020-01-01',
'2020-01-02', '2020-01-02', '2020-01-02',
'2020-01-03', '2020-01-03', '2020-01-03',
'2020-01-04', '2020-01-04', '2020-01-04']
df['value'] = ['Abe', 'Abe', 'Abe',
'Abe', 'Ben', 'Abe',
'Ben', 'Ben', 'Coco',
'Abe', 'Abe', 'Abe']
df
date value
0 2020-01-01 Abe
1 2020-01-01 Abe
2 2020-01-01 Abe
3 2020-01-02 Abe
4 2020-01-02 Ben
5 2020-01-02 Abe
6 2020-01-03 Ben
7 2020-01-03 Ben
8 2020-01-03 Coco
9 2020-01-04 Abe
10 2020-01-04 Abe
11 2020-01-04 Abe
所以,输出应该是这样的
date revisitors
1 2020-01-02 1
2 2020-01-03 1
3 2020-01-04 1
这是我尝试过的
df.groupby(["date"])["value"].nunique()
解决方案
你可以试试:
s = df.drop_duplicates(['date','value'])
s['value'].duplicated().astype(int).groupby(s['date']).sum()
输出:
date
2020-01-01 0
2020-01-02 1
2020-01-03 1
2020-01-04 1
Name: value, dtype: int64
推荐阅读
- python - VSCode - 在终端和 pythonpath 中运行 Python 文件
- java - 如何在简单的 Java 图像查看器中显示 BMP 图像
- ruby-on-rails - 使用 Rails RSpec 和 Capybara 和 Selenium 我如何测试以确保显示模式
- java - 更新架构时,当前线程的范围“会话”不活动
- c++ - Windows WaitCommEvent 等待 n 个字符
- python-3.x - 如何在 Scrapy 中运行多个相同的蜘蛛?
- java - 被检查的异常没有被抛出并变成RuntimeException
- python - Python - 列表返回 [[...], 6]
- mysql - 插入 SQL 之前的 Pb TRIGGER
- python - pigpio 守护进程处于非活动状态,即使连接仍然存在