python - python数据框中的日期时间索引

标签 python datetime pandas indexing dataframe

我正在编写一个程序,从一个名为 quandl 的网站下载数据。我遇到的问题是,当下载数据时,下载的数据框的索引列的日期格式为:2000-01-02 00:00:00。然后,当我使用 dates = df.index.values.tolist() 时,日期将以 946684800000000000 形式的整数返回(这是之前的日期)。有谁知道如何处理这个日期格式并将其放入我可以使用日期时间模块的格式???

最佳答案

如果df.indexDatetimeIndex,则使用df.index.to_pydatetime()将日期转换为对象数组datetime.datetimes。 例如,

In [14]: index = pd.date_range('2000-1-1', periods=3, freq='D')

In [15]: index
Out[15]: DatetimeIndex(['2000-01-01', '2000-01-02', '2000-01-03'], dtype='datetime64[ns]', freq='D', tz=None)

In [16]: index.values.tolist()
Out[16]: [946684800000000000L, 946771200000000000L, 946857600000000000L]

In [17]: index.to_pydatetime()
Out[20]: 
array([datetime.datetime(2000, 1, 1, 0, 0),
       datetime.datetime(2000, 1, 2, 0, 0),
       datetime.datetime(2000, 1, 3, 0, 0)], dtype=object)

请注意,根据您想要对这些日期执行的操作,使用 DatetimeIndex 可能比使用 datetime.datetime 的对象数组更有利。

<小时/>

提示:这就是问题的类型——对一个不熟悉的对象进行内省(introspection)——其中IPython可以有很大的帮助。 IPython 具有 TAB 补全属性。在 IPython 提示符处输入

In [17]: index.

然后按TAB会调出IPython已检测到的index对象的所有属性和方法的列表。 (因为某些对象具有自定义 __getattr__ 方法,这可能不是完整的列表,但它通常很有用。)仔细阅读该列表或对“datetime”进行文本搜索将引导您找到 index.to_datetimeindex.to_pydatetime。一些实验将向您展示 index.to_pydatetime 可以满足您的需要。此外,在 index.to_pydatetime 之后输入问号会使 IPython 向您显示有用的信息,包括文档字符串:

In [19]: index.to_pydatetime?
Type:        instancemethod
String form: <bound method DatetimeIndex.to_pydatetime of DatetimeIndex(['2000-01-01', '2000-01-02', '2000-01-03'], dtype='datetime64[ns]', freq='D', tz=None)>
File:        /home/unutbu/.virtualenvs/dev/lib/python2.7/site-packages/pandas-0.16.2+175.g5a9a9da-py2.7-linux-x86_64.egg/pandas/tseries/index.py
Definition:  index.to_pydatetime()
Docstring:
Return DatetimeIndex as object ndarray of datetime.datetime objects

Returns
-------
datetimes : ndarray

关于python - python数据框中的日期时间索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32271474/

相关文章:

Oracle TIMESTAMP WITH TIMEZONE 命名区域与偏移量

objective-c - 如何从给定的日期/时间减去 1 小时

python - 错误从 groupby 中的重复轴重新索引

python - 区分文件名和文件路径

python - 如何查找具有维基数据代码 Q89 =>(apple) 的项目名称

python - 在 Windows 上获取本地时区名称(Python 3.9 zoneinfo)

python - 将 ID 与 Pandas DataFrame 上的名称匹配

python - 如何选择满足条件的 Pandas 数据框行并使用结​​果创建新数据框

python - 在 R 中将 <dattm.dt> 转换为日期的有效方法

python - 文件名有空格的 Pyspark 错误处理