Groupby IDPandas

2024-05-14 09:00:26 发布

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

我有这样的数据:

ID,"address","used_at","active_seconds","pageviews"
4be390eefaf9a64e7cb52937c4a5c77a,"e1.ru",2014-09-30 18:14:58,57,4
4be390eefaf9a64e7cb52937c4a5c77a,"e1.ru",2014-09-30 20:11:15,1884,90
4be390eefaf9a64e7cb52937c4a5c77a,"e1.ru",2014-10-04 09:44:21,1146,6
4be390eefaf9a64e7cb52937c4a5c77a,"avito.ru",2014-09-29 21:01:29,48,3

我只有20142015年的日期。在

我想按address分组,得到每个网站每年的用户数,但是我有一个错误

^{pr2}$

我试图重命名我的专栏

infile = pd.read_csv("avito_trend.csv", header=None, parse_dates=[2], low_memory=False, names=['user', 'address', 'date', 'duration', 'unknown'] )

但我没有结果。因为姓不会消失。在

我该怎么做这个小组?在


Tags: csv数据id网站addressru错误at
1条回答
网友
1楼 · 发布于 2024-05-14 09:00:26

我认为您可以添加^{}来创建DataFrame以创建唯一用户数(ID),方法是^{}

infile = pd.read_csv("test/avito_trend.csv", 
                      parse_dates=[2])


print (infile.groupby(["address",infile['used_at'].dt.year])['ID'].nunique()
                                                                  .reset_index(name='count'))
              address  used_at  count
0               am.ru     2014    621
1               am.ru     2015    273
2             auto.ru     2014   1752
3             auto.ru     2015   1595
4            avito.ru     2014   5460
5            avito.ru     2015   4631
6       avtomarket.ru     2014    314
7       avtomarket.ru     2015    215
8   cars.mail.ru/sale     2014    457
9   cars.mail.ru/sale     2015    271
10            drom.ru     2014   1934
11            drom.ru     2015   1623
12              e1.ru     2014   1654
13              e1.ru     2015   1359
14        irr.ru/cars     2014    619
15        irr.ru/cars     2015    426

或者,如果需要所有用户的数量,请使用^{}

^{pr2}$

相关问题 更多 >

    热门问题