如何使用日期时间转换凌乱的列对象数据

时间:2018-09-25 16:46:43

标签: python pandas datetime series

列名:时间戳

列dtype:对象

示例数据:2017-12-01T00:02:39

import { browserHistory } from 'react-router';

//... inside your component class

componentDidMount() {
    browserHistory.listen(location => {
        if (location.action === "POP") {
            // Do your stuff
            // maybe use your `createMemoryHistory` API 
            // to push a / to the history to keep the URL the same?
        }
    });
}

我在将Timestamp列中的数据转换成datetime对象时遇到问题,然后可以用其他方法操纵/索引。我觉得日期和时间之间的'T'可能是造成此问题的原因。有没有办法在日期时间格式中添加“忽略”以说明“ T”?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

此处pd.to_datetime可以在指定或不指定format的情况下工作。以下内容已在Pandas v0.19.2上进行了测试。

x = ['2017-12-01T00:02:39']

a = pd.to_datetime(x, format='%Y/%m/%d %H:%M:%S')
b = pd.to_datetime(x)

# DatetimeIndex(['2017-12-01 00:02:39'], dtype='datetime64[ns]', freq=None)

assert (a == b).all()

您的系列中的其他数据可能会引起问题。您可以通过强制错误并查找空值来准确检查出哪些值有误:

s = pd.Series(x)
failing_values = s[pd.to_datetime(s, errors='coerce').isnull()]