加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – pandas将列表拆分为带正则表达式的列

发布时间:2020-12-20 12:34:50 所属栏目:Python 来源:网络整理
导读:我有一个字符串列表: content01/09/15,10:07 - message101/09/15,10:32 - message201/09/15,10:44 - message3 我想要一个数据框,如: date message01/09/15,10:07 message101/09/15,10:32 message201/09/15,10:44 message3 考虑到列表中的所有字符串都以该
我有一个字符串列表:

content
01/09/15,10:07 - message1
01/09/15,10:32 - message2
01/09/15,10:44 - message3

我想要一个数据框,如:

date                message
01/09/15,10:07          message1
01/09/15,10:32          message2
01/09/15,10:44          message3

考虑到列表中的所有字符串都以该格式开头这一事实,我可以将其拆分为 –,但我更愿意寻找一种更智能的方法.

history = pd.DataFrame([line.split(" - ",1) for line in content],columns=['date','message'])

(之后我会将日期转换为日期时间)

任何帮助,将不胜感激.

解决方法

您可以使用str.extract – 其中命名组可以成为列名

In [5827]: df['content'].str.extract('(?P<date>[sS]+) - (?P<message>[sS]+)',expand=True)
Out[5827]:
              date   message
0  01/09/15,10:07  message1
1  01/09/15,10:32  message2
2  01/09/15,10:44  message3

细节

In [5828]: df
Out[5828]:
                      content
0  01/09/15,10:07 - message1
1  01/09/15,10:32 - message2
2  01/09/15,10:44 - message3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读