Python 按日期分组可以';不能按熊猫分类吗?
代码如下: 查找每天提交的用户数。它必须从最新的到较旧的排序Python 按日期分组可以';不能按熊猫分类吗?,python,pandas,Python,Pandas,代码如下: 查找每天提交的用户数。它必须从最新的到较旧的排序 import pandas as pd a=pd.read_csv("dataset.txt") b=a[['date_su','users']] b.sort_values(['date_su'],ascending=False).groupby(['date_su','users'])['date_su'].count() 结果是: date_su users 1/8/2018
import pandas as pd
a=pd.read_csv("dataset.txt")
b=a[['date_su','users']]
b.sort_values(['date_su'],ascending=False).groupby(['date_su','users'])['date_su'].count()
结果是:
date_su users
1/8/2018 Jk_28_j 1
KT1w_19_MN 33
KT1w_19_USER 9
KT1w_19_USER2 5
KT1w_19_USER3 7
KT1w_19_USER32 1
KT1w_19_USER35 8
KT1w_19_USER36 7
KT1w_19_USER8 8
KT1w_19_USER9 6
MRS sffdf 1
SINBAo 1
VIJJHxAFNI 1
W7jj24693U242 1
WW2pt710U455 1
10/7/2018 idMIa9p0c 1
KTw_19_MNG1 4
KTw_19_MNG2 18
KTw_19_USER1 4
KTw_19_USER22 8
KTw_19_USER32 7
KTw_19_USER33 5
KTw_19_USER34 1
KTw_19_USER35 3
10/8/2018 KTw_19_MNG1 8
KTw_19_USER1 5
KTw_19_USER2 2
KTw_19_USER3 3
最后一行似乎不是按日期排序,而是按用户排序。尽管它说的是对值进行排序(['date\u su']。如何使其按预期工作?我认为需要通过参数将值转换为日期时间
解析日期
,如有必要,还可以添加参数dayfirst=True
:
b=pd.read_csv("dataset.txt",
parse_dates=['date_su'],
usecols=['date_su','users'],
dayfirst=True)
然后排序多索引
:
b.groupby(['date_su','users'])['date_su'].count().sort_index(level=[0,1], ascending=[False, True])
或者使用参数sort=False
的ascending=False
避免在groupby中排序:
b.sort_values(['date_su'],ascending=False).groupby(['date_su','users'], sort=False)['date_su'].count()
你能显示dataset.txt文件吗?几行可能会有帮助。这解决了问题,但它似乎是升序的,如果我将升序改为False,它不会改变?@user10319541-在示例数据中
10/7/2018
是10 July 2018
并且应该是第一行?它应该首先显示最近的一行,即2018年8月10日。现在是第一行的7月。