Python 使用一个月的日期计算累积流失率-主要是发行日期
我需要在累积的基础上计算每日流失率,但在尝试了使用GroupByDates方法的多种方法之后。我仍然不能这样做 我已经尝试了多种方法来更改日期。我尝试了这个方法来获取日期,这样我就可以只使用日期中的日期,但它不起作用Python 使用一个月的日期计算累积流失率-主要是发行日期,python,python-3.x,pandas,datetime,pandas-groupby,Python,Python 3.x,Pandas,Datetime,Pandas Groupby,我需要在累积的基础上计算每日流失率,但在尝试了使用GroupByDates方法的多种方法之后。我仍然不能这样做 我已经尝试了多种方法来更改日期。我尝试了这个方法来获取日期,这样我就可以只使用日期中的日期,但它不起作用 df['Day'] = df['Game_Play_Date'].apply(lambda x: x.days) 错误是:-“Timestamp”对象没有属性“days”,即使在使用pd.to_datetime方法和dt.days访问器之后也是如此 df_ch = df.grou
df['Day'] = df['Game_Play_Date'].apply(lambda x: x.days)
错误是:-“Timestamp”对象没有属性“days”,即使在使用pd.to_datetime方法和dt.days访问器之后也是如此
df_ch = df.groupby('Game_Play_DayofMonth')[['pid1', 'pid2']]
这将以数字61882、122654给出日期的值。像这样
我有类似这样的数据,有附加的列
Date PID1 PID2
01-06-19 xa xs
01-06-19 xb xa
01-06-19 xc xv
02-06-19 xd xb
02-06-19 xe xr
02-06-19 xf xe
我需要这样的结果,这样我才能看到归队球员的数量
Date ID
01-06-19 xa
01-06-19 xb
01-06-19 xc
01-06-19 xs
01-06-19 xv
02-06-19 xd
02-06-19 xe
02-06-19 xf
02-06-19 xr
02-06-19 xb
使用
pd.melt
:
print(pd.melt(df, 'Date').iloc[:, [0, 2]].sort_values(by='Date').drop_duplicates().reset_index(drop=True))
print(df.melt('Date').iloc[:, [0, 2]].sort_values(by='Date').drop_duplicates().reset_index(drop=True))
或者使用pd.DataFrame.melt
:
print(pd.melt(df, 'Date').iloc[:, [0, 2]].sort_values(by='Date').drop_duplicates().reset_index(drop=True))
print(df.melt('Date').iloc[:, [0, 2]].sort_values(by='Date').drop_duplicates().reset_index(drop=True))
两种输出:
Date value
0 01-06-19 xa
1 01-06-19 xb
2 01-06-19 xc
3 01-06-19 xs
4 01-06-19 xv
5 02-06-19 xd
6 02-06-19 xe
7 02-06-19 xf
8 02-06-19 xb
9 02-06-19 xr
这不会删除2019年6月1日和2019年6月15日的ID吗?还是两个日期都保留?我在两个日期都需要它们,我有一个大约2500K+行的数据集,我无法验证ID是否正确complex@AbhasMehrotra尝试一下,它应该会起作用,请投票并接受它