将series.rolling的输出修改为2个小数点

时间:2016-09-09 19:56:24

标签: python pandas

使用以下数据:

                          Open  High    Low Last    Volume
Timestamp                   
2016-06-10 16:10:00 2088.00 2088.0  2087.75 2087.75 1418
2016-06-10 16:11:00 2088.00 2088.0  2087.75 2088.00 450
2016-06-10 16:12:00 2088.00 2088.0  2087.25 2087.25 2898

我希望使用滚动移动平均线如下:

data["sma_9_volume"] = data.Volume.rolling(window=9,center=False).mean()

这给了我这个输出:

    Open    High    Low Last    Volume  candle_range    sma_9_close sma_9_volume
Timestamp                               

2014-03-04 09:38:00 1785.50 1785.50 1784.75 1785.25 24  0.75    1785.416667 48.000000
2014-03-04 09:39:00 1785.50 1786.00 1785.25 1785.25 13  0.75    1785.500000 30.444444
2014-03-04 09:40:00 1786.00 1786.25 1783.50 1783.75 28  2.75    1785.333333 30.444444
2014-03-04 09:41:00 1784.00 1785.00 1784.00 1784.25 12  1.00    1785.083333 22.777778
2014-03-04 09:42:00 1784.25 1784.75 1784.00 1784.25 18  0.75    1784.972222 20.222222
2014-03-04 09:43:00 1784.75 1785.00 1784.50 1784.50 10  0.50    1784.888889 20.111111
2014-03-04 09:44:00 1784.25 1784.25 1783.75 1784.00 32  0.50    1784.694444 18.222222

从中获取输出的最佳方法是什么:

data["sma_9_volume"] = data.Volume.rolling(window=9,center=False).mean()

并且输出仅返回2个小数点,即48.00而不是48.000000

1 个答案:

答案 0 :(得分:2)

你可以使用pandas'round功能

data["sma_9_volume"]=data["sma_9_volume"].round(decimals=2)

或直接:

data["sma_9_volume"] = data.Volume.rolling(window=9,center=False).mean().round(decimals=2)

documentation