Python 3.x 提取在同一行中同时具有时间戳和位置的数据帧
是否有任何简单的方法可以提取在同一行中同时具有时间戳和位置的数据帧 此数据框中的1列:Python 3.x 提取在同一行中同时具有时间戳和位置的数据帧,python-3.x,pandas,Python 3.x,Pandas,是否有任何简单的方法可以提取在同一行中同时具有时间戳和位置的数据帧 此数据框中的1列: event 2019-01-01 11:08:33.000 USA 2019-01-02 11:08:33.000 Mexico 2019-01-03 11:08:33.000 Canada 有没有简单的方法将它们分为两列,例如时间和地点 time,location 2019-01-01 11:08:33.000,USA 2019-01-02 11:08:33.000,Mexico 2019-01-03 1
event
2019-01-01 11:08:33.000 USA
2019-01-02 11:08:33.000 Mexico
2019-01-03 11:08:33.000 Canada
有没有简单的方法将它们分为两列,例如时间和地点
time,location
2019-01-01 11:08:33.000,USA
2019-01-02 11:08:33.000,Mexico
2019-01-03 11:08:33.000,Canada
如果位置
字符串中没有空格,请使用:
df[['time', 'loc']] = df.pop('event').str.rsplit(n=1, expand=True)
print (df)
time loc
0 2019-01-01 11:08:33.000 USA
1 2019-01-02 11:08:33.000 Mexico
2 2019-01-03 11:08:33.000 Canada
或带有提取timespams的正则表达式解决方案,具有:
这回答了你的问题吗?第一个解决方案非常有效!学习新语法pop和rsplit!谢谢大家!@耶斯雷尔
regex = r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) (.*)'
df[['time', 'loc']] = df.pop('event').str.extract(regex)
print (df)
time loc
0 2019-01-01 11:08:33.000 USA
1 2019-01-02 11:08:33.000 Mexico
2 2019-01-03 11:08:33.000 Canada