And*_*w.S 2 python dataframe pandas
我有一个股票定价数据框。
| 日期 | 中钢 | 国际贸易中心 | 微软金融服务公司 | 世界职业棒球大联盟 |
|---|---|---|---|---|
| 2003-01-03 | 10 | 9 | 8 | 6 |
| 2003-01-04 | 9 | 9 | 6 | 4 |
| 2003-01-05 | 8 | 9 | 5 | 3 |
我如何创建一个新的数据框,它采用一只股票的今天价格,并将其除以昨天的价格以返回一个比率。示例输出
| 日期 | 中钢 | 国际贸易中心 | 微软金融服务公司 | 世界职业棒球大联盟 |
|---|---|---|---|---|
| 2003-01-03 | NaN | NaN | NaN | NaN |
| 2003-01-04 | 0.9 | 1.0 | 0.75 | 0.666 |
| 2003-01-05 | 0.88889 | 1.0 | 0.83333 | 0.75 |
使用您显示的样本,请尝试以下操作。简单的解释是,创建 2 个变量 m1 和 m2。其中 m1 包含从 CSCO 列到其余列的所有内容,并使用 1 移动行。在 m2 中包含从 CSCO 列到最后一列值的所有内容,最后将它们分开以获得值。
m1 = df.loc[:,'CSCO':].shift()
m2 = df.loc[:,'CSCO':]
df.loc[:,'CSCO':] = m2/m1
Run Code Online (Sandbox Code Playgroud)
DataFrame 的输出如下:
Date CSCO INTC MSFT WBA
0 2003-01-03 NaN NaN NaN NaN
1 2003-01-04 0.900000 1.0 0.750000 0.666667
2 2003-01-05 0.888889 1.0 0.833333 0.750000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |