【问题标题】:Creating an empty dataframe in pandas with column of type datetime64[ns, Europe/Paris]使用 datetime64[ns, Europe/Paris] 类型的列在 pandas 中创建一个空数据框
【发布时间】:2023-02-05 22:58:13
【问题描述】:

我想在 pandas 中创建一个空数据框,其中只有一个列“时间”。我也希望它是 datetime64[ns, 'Europe/Paris'] 类型,即。能够存储时区感知时间戳。

我实际上需要在某些条件下返回一个空数据框,但我仍然希望能够执行一些需要定义类型的基本操作(例如,通过使用列将其与其他类似数据框/执行组合并,以及很快...)。

现在,简单的pd.DataFrame(columns=['time']) 创建了一个类型为object 的列。 我尝试使用pd.DataFrame({'time': pd.Series(dtype=np.datetime64)}),但我得到了ValueError: The 'datetime64' dtype has no unit. Please pass in 'datetime64[ns]' instead.(顺便说一句,我不能通过)。另外,它不会为我提供适当的时区。

知道怎么做吗?

【问题讨论】:

    标签: python pandas dataframe numpy python-datetime


    【解决方案1】:

    您可以尝试使用默认对象类型创建一个名为 time 的列来创建空 DataFrame,然后使用正确的日期时间和时区解析该列。请参阅下面的代码,希望这能回答您的问题:

    import pandas as pd
    from datetime import datetime
    df = pd.DataFrame({
        "time": []
    })
    df["time"] = pd.to_datetime(df["time"]).dt.tz_localize('UTC').dt.tz_convert('Europe/Paris')
    

    【讨论】:

      猜你喜欢
      • 2019-05-23
      • 2023-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 2013-11-14
      • 2020-10-17
      相关资源
      最近更新 更多