python - 如何访问 DataFrame Pandas 中的时间戳?

标签 python pandas

使用 get_data_yahoo 从雅虎下载股票数据后,我想访问每一行的时间...我该怎么做?

我想到的一种方法是:

it = stock.iterrows()
st0 = it.next()
resultIWant = st0[0].value # this gives what I want (almost)
print resultIWant

编辑:

所以基本上我想要像 stock['Open'] 这样的东西,但是对于时间来说,像 stock['Time'] 这样的东西是理想的..

有人要求输出 .head

            Open  High   Low  Close  Volume  Adj Close
Date                                                  
2012-04-03  2.06  2.09  2.01   2.08  463200       2.08
2012-04-04  2.04  2.05  2.01   2.02  335600       2.02

函数的预期输出:

print find_time(stock,2) # function I'm looking for
1333497600000000000      # resulting output

预期输出是从数组中每个日期的最后一个纪元开始的时间或以其他方式获取每个条目的时间。我给出的示例代码给出了我想要的结果,但是如果我想访问第 4 个元素,唯一的方法是 .next 迭代器 4 次,这似乎很糟糕方法。

第一个问题:有没有更明显的方法,我正在做的似乎不是最好的方法。

第二个问题:结果的单位是什么?我认为它是纳秒但不确定...

最佳答案

时间戳有一个time方法:

In [1]: t = pd.Timestamp('200101011300')

In [2]: t
Out[2]: <Timestamp: 2001-01-01 13:00:00>

In [3]: t.time()
Out[3]: datetime.time(13, 0)

是自 1970 年 1 月 1 日午夜以来的纳秒,即 unix time * 10 ** 9:

In [4]: t.value
Out[4]: 978354000000000000

关于python - 如何访问 DataFrame Pandas 中的时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15792018/

相关文章:

python - 如何在数据框中的新列中添加值?

python-3.x - 为什么安装成功后无法导入pandas?

python - Pandas 比较两个数据帧并确定匹配的值

python - 在 Pandas 中,从具有年和周的多索引生成日期时间索引

python - 消除一维阵列中的 Blob / Blob

Python Multiprocessing.Pool 工作人员在使用 pool.map 时挂起

python - "chunk"、 "block"、 "offset"、 "buffer"和 "sector"是什么意思?

python - <_io.TextIOWrapper名称='canc.csv'模式='r'编码='cp1252'>错误在Python中意味着什么?

python - 以 10 为基数的 int() 的文字无效 : 'i' : jump program

python - 显示所有行时显示行数和列数