我有一个dataframe,其中一列只包含字符串元组,索引是一个月的某一天和一周的某一天。你知道吗
所以:
all_app_id day_of_week dayofmonth
0 (g8m4lecv, uyhsx6lo, kz8udlea, uyhsx6lo, uyhsx... Fri 29
1 (awkcmpns, yg02r5dz, yg02r5dz, yg02r5dz, t6rf8... Sat 30
2 (kz8udlea, 6f91a1e2, mv4uo5xy, mv4uo5xy, lfqlz... Sun 31
3 (ze4rr0vi, t6rf8pr, ze4rr0vi, 3c83655d34c365c9... Mon 1
4 (dflewd0u, twidi4l3, twidi4l3, ecur4180, e0ff8... Tues 2
5 (ohafu6x5, kz8udlea, ohafu6x5, jfigr5ko, ohafu... Weds 3
以及唯一应用程序ID的列表:
array(['g8m4lecv', 'uyhsx6lo', 'kz8udlea', ..., 'nrow38d5', 'dekfx963',
'ybkne8eo'], dtype=object)
我要计算的基本上是,对于唯一应用程序id列表中的每个app_id
,它们出现的次数都按day_of_week
和dayofmonth
分组,因此对于每个app_id
,我可以计算它们最常见的day_of_week
和dayofmonth
,总的来说,我还可以通过对生成的数据帧进行操作来计算最常见的日期和月份。你知道吗
示例输出(在此之后应该很简单)是:
星期几
Mon Tues Weds Thurs Fri
g8m4lecv 34 53 84 97 20
uyhsx6lo 3423 5443 235 33 54
kz8udlea 121 1212 39 93 756
。。你知道吗
月日
1 2 3 4 5 ...
g8m4lecv 3 5 8 7 20
uyhsx6lo 12 12 23 233 54
kz8udlea 31 212 39 93 2
。。。你知道吗
我一直在尝试使用类似答案中的groupby
和for app_id in unique_app_ids
和str.contains(app_id).sum()
,但我似乎无法理解如何构造这个和如何组织我的循环。我也在研究list(zip())
如何组合元组,但同样不确定如何在没有分组的情况下按星期几组合。你知道吗
首先需要将
all_app_id
列拆分为单独的列:然后将dayofmonth和day\u of \u week列粘回:
然后融化结果:
删除
variable
列:然后旋转结果:
然后用零填充
NaN
值。你知道吗此时,还可以从顶列中删除
dayofmonth
:瞧!你知道吗
相关问题 更多 >
编程相关推荐