B.A*_*.A. 4 python dataframe pandas
我刚开始研究熊猫,并有疑问。首先,我想问这个。
我有数据框,如下所示。
Date Open High Low Close
2015-11-02 711.059998 721.619995 705.849976 721.109985
2015-11-03 718.859985 724.650024 714.719971 722.159973
2015-11-04 722.000000 733.099976 721.900024 728.109985
2015-11-05 729.469971 739.479980 729.469971 731.250000
2015-11-06 731.500000 735.409973 727.010010 733.760010
Run Code Online (Sandbox Code Playgroud)
我知道
df["Close"].pct_change()
Run Code Online (Sandbox Code Playgroud)
将百分比从“关闭”更改为“关闭”。
但是,我想添加一个新列“ CloseToOpen”,它是“昨天关闭到今天打开”的百分比变化。
因此,它是“打开(第0天)/关闭(第-1天)-1”。当然,第一行应为“ NaN”或零,因为没有“前一天的收盘价”。
我怎样才能用python pandas代码做到这一点?
多谢你们!
这就是我要的。
Date Open High Low Close CloseToOpen
2015-11-02 711.059998 721.619995 705.849976 721.109985 0.000000
2015-11-03 718.859985 724.650024 714.719971 722.159973 -0.003120
2015-11-04 722.000000 733.099976 721.900024 728.109985 -0.000222
2015-11-05 729.469971 739.479980 729.469971 731.250000 0.001868
2015-11-06 731.500000 735.409973 727.010010 733.760010 0.000342
Run Code Online (Sandbox Code Playgroud)
您也可以使用标准操作数来实现您想要的:
df['CloseToOpen'] = (df['Open'] / df['Close'].shift(1) - 1).fillna(0)
Run Code Online (Sandbox Code Playgroud)
使用:
df['CloseToOpen'] = df['Open'].sub(df['Close'].shift()).div(df['Close'] - 1).fillna(0)
print (df)
Open High Low Close CloseToOpen
Date
2015-11-02 711.059998 721.619995 705.849976 721.109985 0.000000
2015-11-03 718.859985 724.650024 714.719971 722.159973 -0.003120
2015-11-04 722.000000 733.099976 721.900024 728.109985 -0.000220
2015-11-05 729.469971 739.479980 729.469971 731.250000 0.001862
2015-11-06 731.500000 735.409973 727.010010 733.760010 0.000341
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2826 次 |
| 最近记录: |