【问题标题】:Initialize dataframe with sample datetime values使用示例日期时间值初始化数据框
【发布时间】:2021-04-30 18:04:26
【问题描述】:

我在 stackoverflow 上看到了一些问题,其中提供了示例数据帧,但日期格式为字符串。因此,我想知道是否有一种方法可以初始化pandas.DataFrame(),以将数据加载为日期时间对象,而不是在初始化数据帧后格式化 pd.Series(),如下所示:

import pandas as pd
df = pd.DataFrame([['2020-01-01'], ['2020-07-01']], columns=['date'])
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')

如何在不需要最后一行的情况下初始化 df?

我试过了:

pd.DataFrame([['2020-01-01'], ['2020-07-01']], columns = ['date'], dtype=pd.datetime)

显然失败了。

预期输出:

df['date']
Out[139]: 
0   2020-01-01
1   2020-07-01
Name: date, dtype: datetime64[ns]

【问题讨论】:

  • df = pd.DataFrame({"date": pd.to_datetime(["2020-01-01", "2020-07-01"])})?
  • @sacuL,啊,如此简单,完美运行,谢谢。我刚刚发现你也可以使用:dtype=pd.DatetimeTZDtype(tz='UTC')

标签: python pandas dataframe datetime


【解决方案1】:

未来读者可能的解决方案:

# by sacuL
df = pd.DataFrame({"date": pd.to_datetime(["2020-01-01", "2020-07-01"])})

# by myself
dtype = pd.DatetimeTZDtype(tz='UTC')

【讨论】:

    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多