如何使用pandas计算错误百分比(groupby)?

2024-05-13 08:13:32 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here

嗨,我有一个包含日期信息的数据框。我想计算CampainAction日期的错误率(这个活动日期应该早于今天的日期)。如果比今天晚了,那就错了!!)和按国家分组。在

任何人都可以告诉我如何使用lambda函数计算任何误差?在

谢谢你的帮助。在


Tags: 数据lambda函数信息国家误差错误率campainaction
1条回答
网友
1楼 · 发布于 2024-05-13 08:13:32

您可以将日期转换为datetime,然后创建一个布尔列来指示它是否是一个错误。然后只要groupby+mean就可以得到百分比。在

import pandas as pd

# Create datetimes.
df['CampaignAction Date'] = pd.to_datetime(df['CampaignAction Date'], errors='coerce')
df['Today'] = pd.to_datetime(df['Today'], errors='coerce')

# Create an Error column
mask = df['CampaignAction Date'].notnull()
df.loc[mask, 'Error_per'] = (df.loc[mask,'CampaignAction Date'] >= df.loc[mask, 'Today']).astype(float)

df.groupby('Country').Error_per.mean().reset_index()

产出:(前两个国家)

^{pr2}$

以下是一些示例数据:

  Country CampaignAction Date      Today
0   China           5/20/2018  9/20/2018
1   China           6/30/2018  9/20/2018
2   China           1/30/2018  9/20/2018
3   China           3/30/2018  9/20/2018
4   China                      9/20/2018
5   China          10/31/2018  9/20/2018
6  Brazil           6/30/2018  9/20/2018
7  Brazil           5/21/2019  9/20/2018

相关问题 更多 >