【问题标题】:combine string in python pandas在 python pandas 中组合字符串
【发布时间】:2016-10-22 07:19:15
【问题描述】:

我在分析关于将字符串组合在一起的数据集时遇到问题。 数据框如下所示:

IP      Event
01      check
01      redo
01      view
02      check
02      check
03      review
04      delete

如您所见,IP 包含重复项。我的问题是,怎样才能得到每个IP按顺序组合Event组的结果。比如我要找的结果是:

IP    result
01    check->redo->view
02    check->check
03    review
04    delete

【问题讨论】:

    标签: arrays string python-2.7 pandas dataframe


    【解决方案1】:

    试试这个:

    In [27]: df.groupby('IP').agg('->'.join).reset_index()
    Out[27]:
       IP              Event
    0  01  check->redo->view
    1  02       check->check
    2  03             review
    3  04             delete
    

    In [26]: df.groupby('IP').agg('->'.join)
    Out[26]:
                    Event
    IP
    01  check->redo->view
    02       check->check
    03             review
    04             delete
    

    【讨论】:

    • @EthanBao,不客气! :) 请考虑accepting 最有帮助的答案 - 这也表明您的问题已得到解答
    【解决方案2】:

    用 lambda 试试这个:

    df.groupby("IP")['Event'].apply(lambda x: '->'.join(x)).reset_index()
    
    
      #  IP           Event
    # 0   1  check->redo->view
    # 1   2       check->check
    # 2   3             review
    # 3   4             delete
    

    【讨论】:

      猜你喜欢
      • 2018-07-22
      • 2018-01-22
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      相关资源
      最近更新 更多