python中日期的数据类型_熊猫阅读中的日期时间数据类型

为什么不起作用

由于csv文件只能包含字符串、整数和浮点数,因此没有为读取csv设置日期时间数据类型。

将dtype设置为datetime将使pandas将datetime解释为一个对象,这意味着您将以字符串结束。

熊猫解决这个问题的方法

^{}函数有一个名为parse_dates的关键字参数

使用此选项,您可以使用默认的date_parser(dateutil.parser.parser)动态地将字符串、浮点数或整数转换为日期时间headers = ['col1', 'col2', 'col3', 'col4']

dtypes = {'col1': 'str', 'col2': 'str', 'col3': 'str', 'col4': 'float'}

parse_dates = ['col1', 'col2']

pd.read_csv(file, sep='\t', header=None, names=headers, dtype=dtypes, parse_dates=parse_dates)

这将导致pandas将col1和col2读取为字符串,它们很可能是(“2016-05-05”等),并且在读取字符串之后,每个列的date_解析器将作用于该字符串并返回该函数返回的任何内容。

定义自己的日期解析函数:

^{}函数还有一个名为date_parser的关键字参数

将此设置为lambda函数将使该特定函数用于分析日期。

收到警告

你必须给它函数,而不是函数的执行,因此这是正确的date_parser = pd.datetools.to_datetime

这是不正确的:date_parser = pd.datetools.to_datetime()

熊猫0.22更新

pd.datetools.to_datetime已重新定位到date_parser = pd.to_datetime

谢谢@stackoverYC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值