小编use*_*205的帖子

将多个未对齐的数据帧合并为单个pandas数据帧

我有多个数据框架与股票价格,我想要对齐到一个数据框架,其中只包含所有股票的收盘价.

我希望所有数据框中的所有日期都出现在日期列(索引)和"NA"中,以防该日期的股票没有收盘价.

两个数据帧(df1和df2)的示例:

In [5]: df1
Out[5]:
            Open   High   Low    Close
Date1
2012-01-05  22.00  22.66  23.11  24.04
2012-01-04  24.04  23.80  23.08  22.16
2012-01-03  22.16  21.27  20.42  21.24
2012-01-01  21.24  22.30  22.52  22.30

In [7]: df2
Out[7]:
             Open   High    Low  Close
Date1
2012-01-07  23.00  21.66  25.11  21.04
2012-01-06  22.00  22.66  23.11  24.04
2012-01-04  24.04  23.80  23.08  22.16
2012-01-02  22.16  21.27  20.42  21.24
2012-01-01  21.24  22.30  22.52  22.30
Run Code Online (Sandbox Code Playgroud)

现在我能做到

In [8]: frame=pd.DataFrame({"df1.Close":df1["Close"], "df2.Close":df2["Close"]})
Run Code Online (Sandbox Code Playgroud)

结果如预期:

In [9]: frame
Out[9]:
            df1.Close  df2.Close
Date1
2012-01-01 …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
3417
查看次数

用 Pandas 在 Python 中计算考夫曼的效率比?

我正在尝试使用 Pandas 在 Python 中实现考夫曼效率比 (ER)。

在 Pandas DataFrame 中,我有两列:

  1. 日期
  2. 股票的收盘价(在本例中为德国 DAX 指数,^GDAXI):
    日期 关闭
    2016-01-05 10310.10
    2016-01-06 10214.02
    2016-01-07 9979.85
    2016-01-08 9849.34
    2016-01-11 9825.07     
    2016-01-12 9985.43     
    2016-01-13 9960.96     
    2016-01-14 9794.20

我需要的是包含给定时期 n 的 ER 的第三列。

ER的定义:

ER = Direction / Volatility
Run Code Online (Sandbox Code Playgroud)

在哪里:

Direction = ABS (Close – Close[n])
Volatility = n * ? (ABS(Close – Close[1]))
n = The efficiency ratio period.
Run Code Online (Sandbox Code Playgroud)

这是 an=3 周期 ER 的示例(取自http://etfhq.com/blog/2011/02/07/kaufmans-efficiency-ratio/):

ER-计算

我正在苦苦挣扎的是如何用 Pandas 在 Python 中做到这一点?最后,根据上面的计算,我的数据框应该是这样的:

日期调整关闭 ER(3)
2016-01-04 10283.44 …

python pandas

3
推荐指数
1
解决办法
972
查看次数

标签 统计

pandas ×2

python ×2