gpt4 book ai didi

python - Pandas 中无法按日期分组排序?

转载 作者:行者123 更新时间:2023-12-01 09:03:42 24 4
gpt4 key购买 nike

这是代码:

查找每天有多少用户提交。它必须从最近到较旧的顺序排序。

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

最后一行似乎不是按日期排序,而是按用户排序。虽然它说 sort_values(['date_su'].How to使其按预期工作?

最佳答案

我认为需要通过 read_csv 中的参数 parse_dates 将值转换为日期时间如果需要,还可以添加参数 dayfirst=True:

b=pd.read_csv("dataset.txt", 
parse_dates=['date_su'],
usecols=['date_su','users'],
dayfirst=True)

然后对MultiIndex进行排序:

b.groupby(['date_su','users'])['date_su'].count().sort_index(level=[0,1], ascending=[False, True])

或者使用 ascending=False 和参数 sort=False 以避免在 groupby 中排序:

b.sort_values(['date_su'],ascending=False).groupby(['date_su','users'], sort=False)['date_su'].count()

关于python - Pandas 中无法按日期分组排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52253565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com