作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个字符串列表:
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>[\s\S]+) - (?P<message>[\s\S]+)',
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
关于python - Pandas 用正则表达式将列表分成几列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46928636/
我正在尝试使用描述的方法将数据表转换为字典 here , 但我得到一个错误 Cannot implicitly convert type System.Collections.Generic.Dict
我想在几个列上使用 orderBY,但它们应该像一列一样。 该表看起来像这样: col1 | col2 5 | 2 | | 3 7 | | 1 | 1
我有这张表 mytable: +----+--------------------------------------+ | id | date1 | date2 | date3
我是一名优秀的程序员,十分优秀!