weixin_42074986
2019-08-26 09:40
采纳率: 33.3%
浏览 1.2k

Python 表 按照时间先后顺序 转换成时间序列

原数据表:
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 实现操作,想请教一下

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 吃鸡王者 2019-08-26 10:20
    已采纳

    time转化或设置为pandas.dataetime格式
    然后df.groupby(by='ID').sort_values(by='time')

    已采纳该答案
    打赏 评论
  • 繁华三千东流水 2019-08-26 10:51
    # 导入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
    '''
    
    1 打赏 评论