首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析到pandas数据的问题

解析到pandas数据的问题
EN

Stack Overflow用户
提问于 2017-03-17 17:18:53
回答 1查看 93关注 0票数 1

我有一些csv文件需要分析。csvs中有一个time date字段。以下是原文栏目的格式;

代码语言:javascript
复制
2017/02/17-12:56
2017/02/17-12:58
2017/02/17-1:00
2017/02/17-1:02
2017/02/17-1:04
2017/02/17-1:06

如你所见,这是一个12小时的时钟。我不确定是不是'-‘在解析时造成了问题,所以我试着去掉它,但是出于某种原因,它不会去掉它,这是我感到疲倦的原因:

代码语言:javascript
复制
df['TimeDate'] = df['TimeDate'].map(lambda x: x.rstrip('-')) # doesnt strip

df['TimeDate'] = pd.to_datetime(df['TimeDate'], format ='%Y/%m/%d-%I:%M') 
#error: time data 'TimeDate' does not match format '%Y/%m/%d-%I:%M' 

df.TimeDate = pd.to_datetime(df.TimeDate.str.strip('-'), format='%Y/%m/%d-%I:%M')
#error: time data 'TimeDate' does not match format '%Y/%m/%d-%I:%M'

df['TimeDate'] = df['TimeDate'].astype('datetime64[ns]')
#error: Error parsing datetime string "2017/03/14-11:32" at position 4

我不知道还能做什么。任何帮助都是非常感谢的。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-17 17:27:22

如果您想使用lambda

代码语言:javascript
复制
import pandas
l = """2017/02/17-12:56
2017/02/17-12:58
2017/02/17-1:00
2017/02/17-1:02
2017/02/17-1:04
2017/02/17-1:06"""



p = pandas.DataFrame(l.split('\n'))

p = p.apply(lambda x: pandas.to_datetime(x))

>>p[0]
0   2017-02-17 12:56:00
1   2017-02-17 12:58:00
2   2017-02-17 01:00:00
3   2017-02-17 01:02:00
4   2017-02-17 01:04:00
5   2017-02-17 01:06:00
Name: 0, dtype: datetime64[ns]

Edit --字符串格式不起作用,所以试试这个

代码语言:javascript
复制
import pandas

l = """2017/02/17-12:56
2017/02/17-12:58
2017/02/17-1:00
2017/02/17-1:02
2017/02/17-1:04
2017/02/17-1:06"""
p = pandas.Series(l.split('\n'))
df = p.to_frame('DateTime')

df['Date'] = df['DateTime'].str.split('-').str.get(0)
df['time'] = df['DateTime'].str.split('-').str.get(1)
df['TimeDate'] = pandas.to_datetime(df['Date'] + ' ' + df['time'])

df
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42853467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档