1. 删除所有存在缺失值的行
-
语法:
- df.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
-
参数:
-
axis : {0 or ‘index’, 1 or ‘columns’}, default 0
- 0, or ‘index’:删除包含丢失值的行 1, or ‘columns’:删除包含丢失值的列
- 默认为0
-
how : {‘any’, ‘all’}, default ‘any’
-
‘any’: 如果存在NA值,则删除该行或列
-
‘all’: 如果所有值都是NA,则删除该行或列
-
-
thresh: int,保留含有int个非空值的行
-
subset: 对特定的列进行缺失值删除处理
-
-
不同情况参数设置:
-
删除所有有缺失值的行
- df.dropna()
-
删除所有有缺失值的列
- df.dropna(axis=‘columns’)
- df.dropna(axis=1)
-
删除所有值缺失的行
- df.dropna(how=‘all’)
-
删除至少有两个非缺失值的行
- df.dropna(thresh=2)
-
指定判断缺失值的列范围
- df.dropna(subset=[‘name’, ‘born’])
-
使删除和的结果生效
- df.dropna(inplace=True)
-
指定列的缺失值删除
- df.toy.dropna()
-
2. 重置data的行号
data = data.reset_index()
3.设置日期为索引
data = data.set_index('日期')
4. 以5个数据作为一个数据滑动窗口,在这5个数据上取均值(收盘价)
data['收盘价(元)'].rolling(5).mean()
日期 2016-01-04 NaN 2016-01-05 NaN 2016-01-06 NaN 2016-01-07 NaN 2016-01-08 15.69578 2016-01-11 15.56330 2016-01-12 15.47322 2016-01-13 15.34780 2016-01-14 15.42022 2016-01-15 15.43612 2016-01-18 15.54740 2016-01-19 15.60392 2016-01-20 15.57920 2016-01-21 15.34250 2016-01-22 15.24358 2016-01-25 15.12878 2016-01-26 14.93272 2016-01-27 14.83204 2016-01-28 14.83204 2016-01-29 14.81086 2016-02-01 14.71724 2016-02-02 14.73490 2016-02-03 14.72252 2016-02-04 14.84970 2016-02-05 15.11112 2016-02-15 15.45556 2016-03-11 15.49266 2016-03-14 15.53682 2016-03-15 15.48736 2016-03-16 15.42552 ... 2017-03-24 15.95200 2017-03-27 15.93200 2017-03-28 15.93400 2017-03-29 15.95200 2017-03-30 15.93800 2017-03-31 15.94800 2017-04-05 15.97200 2017-04-06 15.99000 2017-04-07 16.03600 2017-04-10 16.06800 2017-04-11 16.04400 2017-04-12 15.99000 2017-04-13 15.92000 2017-04-14 15.80200 2017-04-17 15.72000 2017-04-18 15.60200 2017-04-19 15.44600 2017-04-20 15.27800 2017-04-21 15.18600 2017-04-24 15.07400 2017-04-25 15.02400 2017-04-26 15.01200 2017-04-27 15.07200 2017-04-28 15.10400 2017-05-02 15.13600 2017-05-03 15.14200 2017-05-04 15.12800 2017-05-05 15.07000 2017-05-08 15.00000 2017-05-09 14.92000 Name: 收盘价(元), Length: 309, dtype: float64
将数据往后移动5天
data.shift(5)
index | 代码 | 简称 | 前收盘价(元) | 开盘价(元) | 最高价(元) | 最低价(元) | 收盘价(元) | 成交量(股) | 成交金额(元) | 涨跌(元) | 涨跌幅(%) | 均价(元) | 换手率(%) | A股流通市值(元) | 总市值(元) | A股流通股本(股) | 市盈率 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
日期 | ||||||||||||||||||
2016-01-04 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2016-01-05 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2016-01-06 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2016-01-07 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2016-01-08 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2016-01-11 | 0.0 | 600000.SH | 浦发银行 | 16.1356 | 16.1444 | 16.1444 | 15.4997 | 15.7205 | 42240610 | 754425783 | -0.4151 | -2.5725 | 17.8602 | 0.2264 | 3.320318e+11 | 3.320318e+11 | 1.865347e+10 | 6.5614 |
2016-01-12 | 1.0 | 600000.SH | 浦发银行 | 15.7205 | 15.4644 | 15.9501 | 15.3672 | 15.8618 | 58054793 | 1034181474 | 0.1413 | 0.8989 | 17.8139 | 0.3112 | 3.350163e+11 | 3.350163e+11 | 1.865347e+10 | 6.6204 |
2016-01-13 | 2.0 | 600000.SH | 浦发银行 | 15.8618 | 15.8088 | 16.0208 | 15.6234 | 15.9855 | 46772653 | 838667398 | 0.1236 | 0.7795 | 17.9307 | 0.2507 | 3.376278e+11 | 3.376278e+11 | 1.865347e+10 | 6.6720 |
2016-01-14 | 3.0 | 600000.SH | 浦发银行 | 15.9855 | 15.7205 | 15.8088 | 15.3672 | 15.4644 | 11350479 | 199502702 | -0.5211 | -3.2597 | 17.5766 | 0.0608 | 3.266223e+11 | 3.266223e+11 | 1.865347e+10 | 6.4545 |
2016-01-15 | 4.0 | 600000.SH | 浦发银行 | 15.4644 | 15.6675 | 15.7912 | 14.9345 | 15.4467 | 71918296 | 1262105060 | -0.0177 | -0.1142 | 17.5492 | 0.3855 | 3.262492e+11 | 3.262492e+11 | 1.865347e+10 | 6.4471 |
2016-01-18 | 5.0 | 600000.SH | 浦发银行 | 15.4467 | 15.1994 | 15.4114 | 14.9786 | 15.0581 | 90177135 | 1550155933 | -0.3886 | -2.5157 | 17.1901 | 0.4834 | 3.180417e+11 | 3.180417e+11 | 1.865347e+10 | 6.2849 |
2016-01-19 | 6.0 | 600000.SH | 浦发银行 | 15.0581 | 15.1641 | 15.4732 | 15.0846 | 15.4114 | 55374454 | 964061502 | 0.3533 | 2.3460 | 17.4099 | 0.2969 | 3.255031e+11 | 3.255031e+11 | 1.865347e+10 | 6.4324 |
2016-01-20 | 7.0 | 600000.SH | 浦发银行 | 15.4114 | 15.5174 | 15.8088 | 15.3231 | 15.3584 | 47869312 | 843717365 | -0.0530 | -0.3438 | 17.6254 | 0.2566 | 3.243839e+11 | 3.243839e+11 | 1.865347e+10 | 6.4102 |
2016-01-21 | 8.0 | 600000.SH | 浦发银行 | 15.3584 | 15.0140 | 15.8883 | 14.9168 | 15.8265 | 54838833 | 966117848 | 0.4681 | 3.0477 | 17.6174 | 0.294 | 3.342702e+11 | 3.342702e+11 | 1.865347e+10 | 6.6056 |
2016-01-22 | 9.0 | 600000.SH | 浦发银行 | 15.8265 | 15.7205 | 16.0296 | 15.4732 | 15.5262 | 46723139 | 836146426 | -0.3003 | -1.8973 | 17.8958 | 0.2505 | 3.279280e+11 | 3.279280e+11 | 1.865347e+10 | 6.4803 |
2016-01-25 | 10.0 | 600000.SH | 浦发银行 | 15.5262 | 15.3937 | 15.8883 | 15.2966 | 15.6145 | 32729006 | 583291559 | 0.0883 | 0.5688 | 17.8219 | 0.1755 | 3.297934e+11 | 3.297934e+11 | 1.865347e+10 | 6.5171 |
2016-01-26 | 11.0 | 600000.SH | 浦发银行 | 15.6145 | 15.7029 | 15.7912 | 15.4556 | 15.6940 | 29807159 | 527753175 | 0.0795 | 0.5090 | 17.7056 | 0.1598 | 3.314722e+11 | 3.314722e+11 | 1.865347e+10 | 6.5503 |
2016-01-27 | 12.0 | 600000.SH | 浦发银行 | 15.6940 | 15.5527 | 15.6322 | 15.0846 | 15.2348 | 35968636 | 623546924 | -0.4593 | -2.9263 | 17.3359 | 0.1928 | 3.217724e+11 | 3.217724e+11 | 1.865347e+10 | 6.3586 |
2016-01-28 | 13.0 | 600000.SH | 浦发银行 | 15.2348 | 15.2083 | 15.4202 | 14.5724 | 14.6430 | 34197115 | 582845476 | -0.5917 | -3.8841 | 17.0437 | 0.1833 | 3.092746e+11 | 3.092746e+11 | 1.865347e+10 | 6.1117 |
2016-01-29 | 14.0 | 600000.SH | 浦发银行 | 14.6430 | 14.8727 | 15.1111 | 14.5636 | 15.0316 | 42007318 | 708179241 | 0.3886 | 2.6538 | 16.8585 | 0.2252 | 3.174821e+11 | 3.174821e+11 | 1.865347e+10 | 6.2739 |
2016-02-01 | 15.0 | 600000.SH | 浦发银行 | 15.0316 | 15.0140 | 15.1641 | 14.7667 | 15.0405 | 23558971 | 400445071 | 0.0088 | 0.0588 | 16.9976 | 0.1263 | 3.176686e+11 | 3.176686e+11 | 1.865347e+10 | 6.2775 |
2016-02-02 | 16.0 | 600000.SH | 浦发银行 | 15.0405 | 14.9786 | 15.1376 | 14.4841 | 14.7137 | 38279766 | 643611762 | -0.3268 | -2.1726 | 16.8134 | 0.2052 | 3.107668e+11 | 3.107668e+11 | 1.865347e+10 | 6.1412 |
2016-02-03 | 17.0 | 600000.SH | 浦发银行 | 14.7137 | 14.7932 | 14.9963 | 14.5812 | 14.7314 | 44291307 | 742640743 | 0.0177 | 0.1200 | 16.7672 | 0.2374 | 3.111399e+11 | 3.111399e+11 | 1.865347e+10 | 6.1485 |
2016-02-04 | 18.0 | 600000.SH | 浦发银行 | 14.7314 | 14.8020 | 14.8550 | 14.0248 | 14.6430 | 38902180 | 643984171 | -0.0883 | -0.5995 | 16.5539 | 0.2086 | 3.092746e+11 | 3.092746e+11 | 1.865347e+10 | 6.1117 |
2016-02-05 | 19.0 | 600000.SH | 浦发银行 | 14.6430 | 14.5901 | 15.0581 | 14.4929 | 14.9257 | 47429000 | 799493381 | 0.2826 | 1.9300 | 16.8566 | 0.2543 | 3.152437e+11 | 3.152437e+11 | 1.865347e+10 | 6.2296 |
2016-02-15 | 20.0 | 600000.SH | 浦发银行 | 14.9257 | 15.0051 | 15.0140 | 14.4929 | 14.5724 | 29139596 | 485275132 | -0.3533 | -2.3669 | 16.6535 | 0.1562 | 3.077823e+11 | 3.077823e+11 | 1.865347e+10 | 6.0822 |
2016-03-11 | 21.0 | 600000.SH | 浦发银行 | 14.5724 | 14.5724 | 14.9610 | 14.5371 | 14.8020 | 25380981 | 425396889 | 0.2296 | 1.5758 | 16.7605 | 0.1361 | 3.126322e+11 | 3.126322e+11 | 1.865347e+10 | 6.1780 |
2016-03-14 | 22.0 | 600000.SH | 浦发银行 | 14.8020 | 14.6607 | 14.7137 | 14.5282 | 14.6695 | 27779183 | 459255616 | -0.1325 | -0.8950 | 16.5324 | 0.1489 | 3.098342e+11 | 3.098342e+11 | 1.865347e+10 | 6.1227 |
2016-03-15 | 23.0 | 600000.SH | 浦发银行 | 14.6695 | 14.8727 | 15.2966 | 14.6872 | 15.2789 | 47162860 | 799283799 | 0.6094 | 4.1541 | 16.9473 | 0.2528 | 3.227051e+11 | 3.227051e+11 | 1.865347e+10 | 6.3771 |
2016-03-16 | 24.0 | 600000.SH | 浦发银行 | 15.2789 | 15.2259 | 16.2416 | 15.1465 | 16.2328 | 78413454 | 1401156041 | 0.9538 | 6.2428 | 17.8688 | 0.4204 | 3.428508e+11 | 3.428508e+11 | 1.865347e+10 | 6.7752 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2017-03-24 | 292.0 | 600000.SH | 浦发银行 | 16.2900 | 16.3000 | 16.3200 | 16.1400 | 16.2000 | 21560354 | 350179470 | -0.0900 | -0.5525 | 16.2418 | 0.1051 | 3.324049e+11 | 3.502161e+11 | 2.051882e+10 | 6.5955 |
2017-03-27 | 293.0 | 600000.SH | 浦发银行 | 16.2000 | 16.2400 | 16.2500 | 16.1300 | 16.1400 | 15017806 | 242775930 | -0.0600 | -0.3704 | 16.1659 | 0.0695 | 3.489190e+11 | 3.489190e+11 | 2.161828e+10 | 6.5711 |
2017-03-28 | 294.0 | 600000.SH | 浦发银行 | 16.1400 | 16.1500 | 16.1600 | 15.9800 | 16.0000 | 31124617 | 499206643 | -0.1400 | -0.8674 | 16.039 | 0.144 | 3.458925e+11 | 3.458925e+11 | 2.161828e+10 | 6.5141 |
2017-03-29 | 295.0 | 600000.SH | 浦发银行 | 16.0000 | 15.9800 | 15.9800 | 15.7000 | 15.7800 | 43811429 | 691677895 | -0.2200 | -1.3750 | 15.7876 | 0.2027 | 3.411365e+11 | 3.411365e+11 | 2.161828e+10 | 6.4245 |
2017-03-30 | 296.0 | 600000.SH | 浦发银行 | 15.7800 | 15.8000 | 15.9200 | 15.7900 | 15.8800 | 22225660 | 352635979 | 0.1000 | 0.6337 | 15.8662 | 0.1028 | 3.432983e+11 | 3.432983e+11 | 2.161828e+10 | 6.4652 |
2017-03-31 | 297.0 | 600000.SH | 浦发银行 | 15.8800 | 15.8500 | 16.0000 | 15.8300 | 15.9600 | 19902006 | 316984958 | 0.0800 | 0.5038 | 15.9273 | 0.0921 | 3.450277e+11 | 3.450277e+11 | 2.161828e+10 | 6.4978 |
2017-04-05 | 298.0 | 600000.SH | 浦发银行 | 15.9600 | 15.9700 | 16.1300 | 15.9000 | 16.0400 | 18997369 | 304990151 | 0.0800 | 0.5013 | 16.0543 | 0.0879 | 3.467572e+11 | 3.467572e+11 | 2.161828e+10 | 6.5304 |
2017-04-06 | 299.0 | 600000.SH | 浦发银行 | 16.0400 | 16.1100 | 16.1300 | 15.9700 | 16.0100 | 13212969 | 211750766 | -0.0300 | -0.1870 | 16.026 | 0.0611 | 3.461087e+11 | 3.461087e+11 | 2.161828e+10 | 6.5182 |
2017-04-07 | 300.0 | 600000.SH | 浦发银行 | 16.0100 | 16.0100 | 16.1100 | 15.8000 | 15.8700 | 23446792 | 372794465 | -0.1400 | -0.8745 | 15.8996 | 0.1085 | 3.430821e+11 | 3.430821e+11 | 2.161828e+10 | 6.4612 |
2017-04-10 | 301.0 | 600000.SH | 浦发银行 | 15.8700 | 15.8800 | 15.9000 | 15.7200 | 15.8100 | 23645144 | 373665115 | -0.0600 | -0.3781 | 15.803 | 0.1094 | 3.417850e+11 | 3.417850e+11 | 2.161828e+10 | 6.4368 |
2017-04-11 | 302.0 | 600000.SH | 浦发银行 | 15.8100 | 15.7800 | 16.0500 | 15.7700 | 16.0100 | 24187120 | 385793421 | 0.2000 | 1.2650 | 15.9504 | 0.1119 | 3.461087e+11 | 3.461087e+11 | 2.161828e+10 | 6.5182 |
2017-04-12 | 303.0 | 600000.SH | 浦发银行 | 16.0100 | 16.0500 | 16.2000 | 15.8900 | 16.1600 | 31036271 | 499121565 | 0.1500 | 0.9369 | 16.0819 | 0.1436 | 3.493514e+11 | 3.493514e+11 | 2.161828e+10 | 6.5792 |
2017-04-13 | 304.0 | 600000.SH | 浦发银行 | 16.1600 | 16.0900 | 16.1800 | 16.0300 | 16.1000 | 22335442 | 359361840 | -0.0600 | -0.3713 | 16.0893 | 0.1033 | 3.480543e+11 | 3.480543e+11 | 2.161828e+10 | 6.5548 |
2017-04-14 | 305.0 | 600000.SH | 浦发银行 | 16.1000 | 16.0600 | 16.1600 | 16.0200 | 16.1000 | 20126948 | 323821647 | 0.0000 | 0.0000 | 16.089 | 0.0931 | 3.480543e+11 | 3.480543e+11 | 2.161828e+10 | 6.5548 |
2017-04-17 | 306.0 | 600000.SH | 浦发银行 | 16.1000 | 16.1200 | 16.1200 | 15.9400 | 15.9700 | 16154024 | 258662668 | -0.1300 | -0.8075 | 16.0123 | 0.0747 | 3.452439e+11 | 3.452439e+11 | 2.161828e+10 | 6.5019 |
2017-04-18 | 307.0 | 600000.SH | 浦发银行 | 15.9700 | 15.9700 | 15.9900 | 15.8100 | 15.8900 | 18611375 | 295381671 | -0.0800 | -0.5009 | 15.871 | 0.0861 | 3.435145e+11 | 3.435145e+11 | 2.161828e+10 | 6.4693 |
2017-04-19 | 308.0 | 600000.SH | 浦发银行 | 15.8900 | 15.8800 | 15.9600 | 15.7500 | 15.8900 | 22210541 | 352357729 | 0.0000 | 0.0000 | 15.8644 | 0.1027 | 3.435145e+11 | 3.435145e+11 | 2.161828e+10 | 6.4693 |
2017-04-20 | 309.0 | 600000.SH | 浦发银行 | 15.8900 | 15.8800 | 15.8900 | 15.7300 | 15.7500 | 23426650 | 369388222 | -0.1400 | -0.8811 | 15.7679 | 0.1084 | 3.404879e+11 | 3.404879e+11 | 2.161828e+10 | 6.4123 |
2017-04-21 | 310.0 | 600000.SH | 浦发银行 | 15.7500 | 15.7600 | 15.7800 | 15.4200 | 15.5100 | 40156553 | 625510632 | -0.2400 | -1.5238 | 15.5768 | 0.1858 | 3.352995e+11 | 3.352995e+11 | 2.161828e+10 | 6.3146 |
2017-04-24 | 311.0 | 600000.SH | 浦发银行 | 15.5100 | 15.5300 | 15.6000 | 15.3000 | 15.5600 | 36739448 | 566536789 | 0.0500 | 0.3224 | 15.4204 | 0.1699 | 3.363804e+11 | 3.363804e+11 | 2.161828e+10 | 6.3350 |
2017-04-25 | 312.0 | 600000.SH | 浦发银行 | 15.5600 | 15.5000 | 15.5200 | 15.3000 | 15.3000 | 22889980 | 351624622 | -0.2600 | -1.6710 | 15.3615 | 0.1059 | 3.307597e+11 | 3.307597e+11 | 2.161828e+10 | 6.2291 |
2017-04-26 | 313.0 | 600000.SH | 浦发银行 | 15.3000 | 15.2500 | 15.2700 | 15.1100 | 15.1100 | 24455407 | 371021507 | -0.1900 | -1.2418 | 15.1713 | 0.1131 | 3.266522e+11 | 3.266522e+11 | 2.161828e+10 | 6.1518 |
2017-04-27 | 314.0 | 600000.SH | 浦发银行 | 15.1100 | 15.1200 | 15.1400 | 14.9000 | 14.9100 | 41061406 | 614436383 | -0.2000 | -1.3236 | 14.9638 | 0.1899 | 3.223286e+11 | 3.223286e+11 | 2.161828e+10 | 6.0703 |
2017-04-28 | 315.0 | 600000.SH | 浦发银行 | 14.9100 | 14.9200 | 15.0700 | 14.8500 | 15.0500 | 22688358 | 340453104 | 0.1400 | 0.9390 | 15.0056 | 0.1049 | 3.253551e+11 | 3.253551e+11 | 2.161828e+10 | 6.1273 |
2017-05-02 | 316.0 | 600000.SH | 浦发银行 | 15.0500 | 15.0500 | 15.1100 | 14.9100 | 15.0000 | 17627803 | 264649933 | -0.0500 | -0.3322 | 15.0132 | 0.0815 | 3.242742e+11 | 3.242742e+11 | 2.161828e+10 | 6.1070 |
2017-05-03 | 317.0 | 600000.SH | 浦发银行 | 15.0000 | 15.0200 | 15.1000 | 14.9900 | 15.0500 | 12975919 | 195296862 | 0.0500 | 0.3333 | 15.0507 | 0.06 | 3.253551e+11 | 3.253551e+11 | 2.161828e+10 | 6.1273 |
2017-05-04 | 318.0 | 600000.SH | 浦发银行 | 15.0500 | 15.0600 | 15.1100 | 15.0000 | 15.0500 | 14939871 | 225022668 | 0.0000 | 0.0000 | 15.0619 | 0.0691 | 3.253551e+11 | 3.253551e+11 | 2.161828e+10 | 6.1273 |
2017-05-05 | 319.0 | 600000.SH | 浦发银行 | 15.0500 | 15.0500 | 15.2500 | 15.0300 | 15.2100 | 22887645 | 345791526 | 0.1600 | 1.0631 | 15.1082 | 0.1059 | 3.288140e+11 | 3.288140e+11 | 2.161828e+10 | 6.1925 |
2017-05-08 | 320.0 | 600000.SH | 浦发银行 | 15.2100 | 15.1500 | 15.2200 | 15.0800 | 15.2100 | 15718509 | 238419161 | 0.0000 | 0.0000 | 15.1681 | 0.0727 | 3.288140e+11 | 3.288140e+11 | 2.161828e+10 | 6.1925 |
2017-05-09 | 321.0 | 600000.SH | 浦发银行 | 15.2100 | 15.2100 | 15.2200 | 15.1300 | 15.1600 | 12607509 | 191225527 | -0.0500 | -0.3287 | 15.1676 | 0.0583 | 3.277331e+11 | 3.277331e+11 | 2.161828e+10 | 6.1721 |
309 rows × 18 columns
作业
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
data = pd.read_excel('/home/mw/input/pandas1206855/600000.SH.xls')
# 删除空值
data.dropna(axis=0, how='any', inplace=True)
# 删除非数值行
tmp = []
for i in range(len(data)):
if type(data.loc[i, '换手率(%)']) != float:
tmp.append(i)
data.drop(labels=tmp, inplace=True)
# 重置索引,并设置新index
data = data.reset_index()
data = data.set_index('日期')
# STEP1: 按照以下要求计算结果
# 1. 将数据往前移动5天 !注意此处!第25步往后移动5天!
# data = data.shift(-5) # 第25步操作
# data = data.shift(-5) # 第一题操作
# 2. 使用expanding函数计算开盘价的移动窗口均值
meta_mean_sta = data['开盘价(元)']
exp_mean_sta = data['开盘价(元)'].expanding(min_periods=1, center=False, axis=0).mean()
plot_df1_mean = pd.concat([meta_mean_sta, exp_mean_sta], axis=1, ignore_index=True)
plot_df1_mean = plot_df1_mean.rename(columns={
0: '原始数据',
1: '移动窗口均值'})
# 3. 绘制上一题的移动均值与原始数据折线图
# plt.rc('figure', figsize=(16, 6), dpi=150)
# plt.plot(plot_df1_mean['原始数据'])
# plt.plot(plot_df1_mean['移动窗口均值'])
# plt.show()
# 4. 计算布林指标
N = 20 # 布林线指标的参数最好设为20
# 第一步:计算MA 移动平均线
ma = data['收盘价(元)'].rolling(N).mean()
# 第二步:计算标准差MD
md = data['收盘价(元)'].rolling(N).std()
# 第三步:计算MB、UP、DN线 分别对应 中轨线 上轨线 下轨线
mb = ma
up = mb + (md * 2)
dn = mb - (md * 2)
# 5. 计算布林线并绘制
plt.rc('figure', figsize=(16, 6), dpi=150)
plt.plot(ma, color='blue')
plt.plot(up, color='red')
plt.plot(dn, color='g')
#plt.show()
# STEP2: 为了简化最终提交的行数,所以这里只需要保留上轨线UP这一字段即可,并保存为 csv 文件
dic = {
'上轨线': up}
df = pd.DataFrame(dic).reset_index(drop=True)
df = df.round(2)
df.columns = ['answer']
df.dropna(axis=0, how='any', inplace=True)
df['id'] = range(len(df))
df = df[['id', 'answer']]
df.to_csv('answer_4.csv', index=False, encoding='utf-8-sig')
收获
身体不适,没有收获,草草了事。