日期时间字符串到纪元:熊猫数据框
Posted
技术标签:
【中文标题】日期时间字符串到纪元:熊猫数据框【英文标题】:Date time string to epoch: pandas dataframe 【发布时间】:2019-07-21 22:16:00 【问题描述】:我的一个熊猫 df 有日期时间字符串列。格式如下:
TimeStamp value
11/12/2015 10:07:34 AM 24.5
11/12/2015 10:07:35 AM 55.1
so on
我尝试使用以下方法将 TimeStamp
列的值转换为纪元:
dataframe['TimeStamp'] = pd.to_datetime(dataframe['TimeStamp']).values.astype(np.int64) // 10 ** 6
将日期时间字符串转换为 unix 时间戳时出现错误。帮助将非常appriciated。谢谢。
【问题讨论】:
对我来说运行良好。结果是[1447322854000, 1447322855000]
。你遇到了什么错误?
@meW 错误是:TypeError: Unrecognized value type: <class 'str'> File "/usr/local/lib/python3.7/site-packages/dateutil/parser/_parser.py", line 649, in parse raise ValueError("Unknown string format:", timestr) ValueError: ('Unknown string format:', 'TimeStamp')
那是你的TimeStamp
数据的问题。它可能在末尾有一些空格或类似的问题。请参阅@jezrael 解决方案here 以找出您数据中的错误,或者与我们分享您是如何创建此数据框的。
是的,您的数据集中有一个无法解析的流氓字符串,请定位并调查或使用 coerce=True。
【参考方案1】:
我发现TimeStamp
的值不是字符串。感谢@meW 提到数据中可能存在一些问题。
所以,我在将字符串数据时间转换为纪元之前将值转换为字符串。
dataframe['TimeStamp'] = dataframe['TimeStamp'].astype(str)
dataframe['TimeStamp'] = pd.to_datetime(dataframe['TimeStamp'])
.values.astype(np.int64) // 10 ** 6
【讨论】:
以上是关于日期时间字符串到纪元:熊猫数据框的主要内容,如果未能解决你的问题,请参考以下文章