【问题标题】:pandas - Increase datetime hour(More information is in the article.) [duplicate]pandas - 增加日期时间(更多信息在文章中。)[重复]
【发布时间】:2018-02-25 06:44:05
【问题描述】:

我从数据框中取出一列并将其添加到一个名为 timestamp 的变量中。

0    2017-01-10 04:45:00
1    2017-01-10 04:45:00
2    2017-01-10 04:45:00
3    2017-01-10 04:46:00
4    2017-01-10 04:46:00
5    2017-01-10 04:46:00
6    2017-01-10 04:47:00
7    2017-01-10 04:47:00
8    2017-01-10 17:47:00
9    2017-01-10 17:52:00
Name: timestamp, dtype: object

数据类型为:

type(timestamp)

Out[1]: pandas.core.series.Series

type(timestamp.values)

Out[1]: numpy.ndarray

我想做的是增加 9 小时。

0    2017-01-10 13:45:00
1    2017-01-10 13:45:00
2    2017-01-10 13:45:00
3    2017-01-10 13:46:00
4    2017-01-10 13:46:00
5    2017-01-10 13:46:00
6    2017-01-10 13:47:00
7    2017-01-10 13:47:00
8    2017-01-11 02:47:00
9    2017-01-11 02:52:00
Name: timestamp, dtype: object

如果您能告诉我应该怎么做,我将不胜感激。

【问题讨论】:

    标签: python-3.x pandas datetime


    【解决方案1】:

    使用pd.Timedelta:

     s1 + pd.Timedelta(hours=9)
    

    输出:

    0   2017-01-10 13:45:00
    1   2017-01-10 13:45:00
    2   2017-01-10 13:45:00
    3   2017-01-10 13:46:00
    4   2017-01-10 13:46:00
    5   2017-01-10 13:46:00
    6   2017-01-10 13:47:00
    7   2017-01-10 13:47:00
    8   2017-01-11 02:47:00
    9   2017-01-11 02:52:00
    Name: 1, dtype: datetime64[ns]
    

    【讨论】:

    • 我收到了这个错误。 TypeError: must be str, not Timedelta 我应该改什么类型?
    • 啊..您的原始系列不是熊猫日期时间。它是一个日期时间模块 datetime。你可以 pd.to_datetime(timestamp).
    • 谢谢。因此我没有收到错误,但时间没有改变。/ a = pd.to_datetime(timestamp)\n a = a + pd.Timedelta(hours=9)\n a
    • 这很奇怪。 a = a + pd.Timedelta(hours=9) 没有提前九小时?
    • 哦!对不起。我错了。感谢您告知我们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    相关资源
    最近更新 更多