pandas数据帧用其

2024-05-16 00:18:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas数据框,里面填着:

import pandas.io.data as web
test = web.get_data_yahoo('QQQ')

在iPython中,数据帧如下所示:

In [13]:  test
Out[13]:
    <class 'pandas.core.frame.DataFrame'>
    DatetimeIndex: 729 entries, 2010-01-04 00:00:00 to 2012-11-23 00:00:00
    Data columns:
    Open         729  non-null values
    High         729  non-null values
    Low          729  non-null values
    Close        729  non-null values
    Volume       729  non-null values
    Adj Close    729  non-null values
    dtypes: float64(5), int64(1)

当我将一列除以另一列时,我得到一个float64结果,它有令人满意的小数位数。我甚至可以用一个列除以另一个列偏移量,例如test.Open[1:]/test.Close[:],得到满意的小数位数。然而,当我用列本身的偏移量除以列时,只得到1:

In [83]: test.Open[1:] / test.Close[:]
Out[83]:

    Date
    2010-01-04         NaN
    2010-01-05    0.999354
    2010-01-06    1.005635
    2010-01-07    1.000866
    2010-01-08    0.989689
    2010-01-11    1.005393
...
In [84]: test.Open[1:] / test.Open[:]
Out[84]:
    Date
    2010-01-04   NaN
    2010-01-05     1
    2010-01-06     1
    2010-01-07     1
    2010-01-08     1
    2010-01-11     1

我可能遗漏了一些简单的东西。为了从这种计算中得到有用的值,我需要做什么?提前感谢你的帮助。


Tags: 数据intestwebpandasclosedataopen