我已经成功从以下列值示例中提取了日期模式:
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
之后的所有行都保存相同的确切日期?现在将日期列作为索引删除,但是我需要该索引才能正确显示。
它们对于每一行都应该是唯一的...
答案 0 :(得分:1)
代码的第二行:
enron_df['date'] = enron_df['date'].str[5:-21][0]
是在所有行中复制相同日期的原因。 0
索引选择第一行,然后将列中的每个日期设置为等于该值。
我相信删除[0]
可以解决您的问题。