原数据表:
ID time item
01 2019-06-18 f
01 2019-01-01 b
02 2019-01-02 a
01 2018-02-04 c
02 2017-06-08 d
02 2019-04-25 a
想要数据首先安ID分,然后在按照第二列的时间排序
最终想得到:
01 abf
02 dca
想采用pandas 实现操作,想请教一下
time转化或设置为pandas.dataetime格式
然后df.groupby(by='ID').sort_values(by='time')
# 导入pandas
import pandas as pd
# 读取数据
df = pd.read_excel(r'新建 XLS 工作表.xls')
# print(df)
# 按time排序
df.sort_values(by='time',inplace=True)
# 按ID分组
df = df.groupby('ID')
# 输出item计数
df = df['item'].value_counts()
print(df)
'''
# 效果这样
ID item
1 b 1
c 1
f 1
2 a 2
d 1
'''