首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用熊猫将字符串转换为时间戳

如何使用熊猫将字符串转换为时间戳
EN

Stack Overflow用户
提问于 2020-04-26 14:17:26
回答 1查看 2.3K关注 0票数 0

我有包含以下格式的df列:2020-04-20T03:18:07.000+0000,我想将它转换成如下格式:2020-04-20 03:18:07.000000

我就是这样做的:

代码语言:javascript
运行
复制
   def _to_timestamp(cls, col):
        """
        Convert a column of a dataframe from String to Timestamp if applicable
        :param col:     A Series object representing a column of a dataframe.
        """
        try:
            col = pd.to_datetime(col)
        except ValueError:
            print(
                "Could not convert field to timestamps: {0}".format(col.name)
            )
            return col

        converted = []
        for i in col:
            try:
                converted.append(i.fromisoformat())   <-- PROBLEM IS HERE
            except ValueError:
                converted.append(pd.np.NaN)
            except AttributeError:
                converted.append(pd.np.NaN)


cols =['originDate', 'destenationDate','caseTimestamp']
df[cols] = df[cols].apply(
                lambda x: self._to_timestamp(x)
            )

如果我将i.fromisoformat()改为i.timestamp(),这个函数给了我Nan,但是它返回UNIX,这不是我所需要的,我在这里做错了什么?

错误是:

AttributeError:(“‘时间戳’对象没有属性'fromisoformat'",‘发生在索引originDate')

EN

回答 1

Stack Overflow用户

发布于 2020-04-26 15:21:23

据我所知,您希望将特定的字符串对象转换为datetime对象。您可以以这种方式转换它:

代码语言:javascript
运行
复制
from datetime import datetime
df[cols] = df[cols].apply(lambda x: datetime.strptime(x, '%Y-%m-%dT%H:%M:%S.%f%z'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61442283

复制
相关文章

相似问题

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