代码之家  ›  专栏  ›  技术社区  ›  Mr. Jibz

正则表达式模式仅用一个条目替换列值

  •  1
  • Mr. Jibz  · 技术社区  · 6 年前

    u"Message-ID: <18782981.1075855378110.JavaMail.evans@email> Date: Mon, 14 May 2001 16:39:00 -0700 (PDT) From: phillip.allen@email.com To: tim.belden@email.com"
    

    这是我的密码:

    enron_df['date'] = enron_df['message'].str.extract('Date:([^/]+)From:', expand=False).str.strip()
    enron_df['date'] = enron_df['date'].str[5:-21][0]
    enron_df['date'] = [x.encode('utf8') for x in enron_df['date']]
    enron_df['date'] = enron_df['date'].str.replace(" ","-")
    

    下面是输出示例:

    enron_df.head(3)
    
                message sender  date
    date            
    2001-05-14  abcdefg allen   14-May-2001
    2001-05-14  abcdefg bob     14-May-2001
    2001-05-14  abcdefg john    14-May-2001
    

    有什么原因 head

    它们应该是每一行独有的。。。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Henry Woody    6 年前

    代码的第二行:

    enron_df['date'] = enron_df['date'].str[5:-21][0]
    

    0 index选择第一行,然后将列中的每个日期设置为该值。

    我相信移除 [0] 会解决你的问题。