【问题标题】:How to get Timeformat of Pandas Time-Index?如何获取 Pandas 时间索引的时间格式?
【发布时间】:2020-09-05 19:34:12
【问题描述】:

假设我有一个数据框:

>>>df1
                          Col1       Col1
               Time
2013-05-08 00:00:00    1.25468    1.25468
2013-05-09 00:00:00    1.24833    1.25468
2013-05-10 00:00:00    1.24458    1.25468
2013-05-13 00:00:00    1.23918    1.25468
2013-05-14 00:00:00    1.23527    1.25468

问题:

如何获取 Timeindex 的时间格式,以便我可以使用 pd.to_datetime() 将其应用于另一个时间范围?

像这样:

>>> timeformat = get_timeformat(df1)
>>> df2
                              Col1       Col1
                   Time
2013-05-08 00:00:00:000    10.25468    1.25468
2013-05-09 00:00:00:000    19.24833    1.25468
2013-05-10 00:00:00:000    18.24458    1.25468
2013-05-13 00:00:00:000    14.23918    1.25468
2013-05-14 00:00:00:000    13.23527    1.25468

>>> timeCol_name = "Time"
>>> df2[timeCol_name ] = pd.to_datetime(df2[timeCol_name ], 
                                          format = timeformat) # <--- this is what i need

                           Col1       Col1
               Time
2013-05-08 00:00:00    10.25468    1.25468
2013-05-09 00:00:00    19.24833    1.25468
2013-05-10 00:00:00    18.24458    1.25468
2013-05-13 00:00:00    14.23918    1.25468
2013-05-14 00:00:00    13.23527    1.25468

以上只是示例。出于我的目的,datetimeformat 可以采用任何格式(因此该函数需要是动态的)

【问题讨论】:

  • Timeindex 没有 Timeformat 属性。 format 只是说明您希望如何渲染/查看存储在内存中的值。

标签: pandas dataframe datetime datetime-format time-format


【解决方案1】:

为什么不能在两个数据框中设置完全相同的格式:

t_format = '%Y-%m-%d %H:%M:%S'
df['Time'] = pd.to_datetime(df['Time']).dt.strftime(t_format)

对另一个做同样的事情:

df2['Time'] = pd.to_datetime(df2['Time']).dt.strftime(t_format)

输出:

                  Time     col1     col2
0  2013-05-08 00:00:00  1.25468  1.25468
1  2013-05-09 00:00:00  1.24833  1.25468
2  2013-05-10 00:00:00  1.24458  1.25468
3  2013-05-13 00:00:00  1.23918  1.25468
4  2013-05-14 00:00:00  1.23527  1.25468

【讨论】:

  • 因为我的程序中的时间格式在输入时并不总是相同的。找到这个特定的时间格式正是我们所需要的。
猜你喜欢
  • 2015-03-30
  • 2017-04-24
  • 2017-07-11
  • 2021-08-14
  • 1970-01-01
  • 2013-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多