gpt4 book ai didi

python - 混淆 Pandas 中的日期时间对象

转载 作者:太空宇宙 更新时间:2023-11-04 05:46:06 24 4
gpt4 key购买 nike

我对 pandas 处理与时间相关的对象的方式有些困惑。

如果我这样做

x = pd.datetime.fromtimestamp(1440502703064/1000.) # or
x = pd.datetime(1234,5,6)

然后 type(x) 在任何一种情况下都返回 datetime.datetime。但是,如果我有:

z = pd.DataFrame([
{'a': 'foo', 'ts': pd.datetime.fromtimestamp(1440502703064/1000.)}
])

然后 type(z['ts'][0]) 返回 pandas.tslib.Timestamp。这个类型转换什么时候发生?它的触发器是 pandas 还是 numpy?我在后一种情况下获得的这种类型是什么,它记录在哪里?

最佳答案

我不是 100% 确定,因为我没有研究底层代码,但是 datetime.datetime 的转换发生在值“合并”到 DataFrame 的那一刻

DataFrame 之外,当使用 pd.dattime(.fromtimestamp) 时,pandas 会尝试做一些聪明的事情并返回一些合理的东西:它返回一个 Python datetime.datetime 对象。

在内部,它使用了一些可能在内部更好地工作的东西。通过使用 datetime.datetime 对象代替创建 DataFrame 时,您可以看到发生的转换:

>>> from datetime import datetime
>>> z = pd.DataFrame([
{'a': 'foo', 'ts': datetime(2015,8,27)} ])
>>> type(z['ts'][0])
pandas.tslib.Timestamp

也许更清楚:

>>> pd.datetime == datetime
True

因此转换发生在 DataFrame 初始化期间。

至于文档,我四处搜索并找到了 source (注意:可能不是一个非常时间安全的链接),它说(文档字符串):

TimeStamp is the pandas equivalent of python's Datetime and is interchangable with it in most cases. It's the type used for the entries that make up a DatetimeIndex, and other timeseries oriented data structures in pandas.

关于python - 混淆 Pandas 中的日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32242992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com