stock popDate2016-01-04 325.316 822016-01-11 320.036 832016-01-18 299.169 792016-01-25 296.579 842016-02-01 295.334 822016-02-08 309.777 812016-02-15 317.397 752016-02-22 328.005 802016-02-29 315.504 812016-03-07 328.802 812016-03-14 339.559 862016-03-21 352.160 822016-03-28 348.773 842016-04-04 346.482 832016-04-11 346.980 802016-04-18 357.140 752016-04-25 357.439 772016-05-02 356.443 782016-05-09 365.158 782016-05-16 352.160 722016-05-23 344.540 742016-05-30 354.998 812016-06-06 347.428 772016-06-13 341.053 782016-06-20 363.515 802016-06-27 349.669 802016-07-04 371.583 822016-07-11 358.335 812016-07-18 362.021 792016-07-25 368.844 77... ... ...
我想添加一个新的MA列,用于计算列pop的滚动平均值.我尝试了以下内容
df['MA']=data.rolling(5,on='pop').mean()
我收到一个错误
ValueError: Wrong number of items passed 2,placement implIEs 1
所以我想让我试试,如果它只是工作而不添加一列.我用了
data.rolling(5,on='pop').mean()
我得到了输出
stock popDate2016-01-04 NaN 822016-01-11 NaN 832016-01-18 NaN 792016-01-25 NaN 842016-02-01 307.2868 822016-02-08 304.1790 812016-02-15 303.6512 752016-02-22 309.4184 802016-02-29 313.2034 812016-03-07 319.8970 812016-03-14 325.8534 862016-03-21 332.8060 822016-03-28 336.9596 842016-04-04 343.1552 832016-04-11 346.7908 802016-04-18 350.3070 752016-04-25 351.3628 772016-05-02 352.8968 782016-05-09 356.6320 782016-05-16 357.6680 722016-05-23 355.1480 742016-05-30 354.6598 812016-06-06 352.8568 772016-06-13 348.0358 782016-06-20 350.3068 802016-06-27 351.3326 802016-07-04 354.6496 822016-07-11 356.8310 812016-07-18 361.0246 792016-07-25 362.0904 77... ... ...
我似乎无法在列pop上应用Rolling mean.我究竟做错了什么?
解决方法 要分配列,您可以根据SerIEs创建滚动对象:df['new_col'] = data['column'].rolling(5).mean()
ac2001发布的答案并不是最有效的方法.他正在计算数据框中每一列的滚动平均值,然后他使用“pop”列分配“ma”列.以下第一种方法更有效:
%timeit df['ma'] = data['pop'].rolling(5).mean()%timeit df['ma_2'] = data.rolling(5).mean()['pop']1000 loops,best of 3: 497 µs per loop100 loops,best of 3: 2.6 ms per loop
除非您需要在所有其他列上存储计算滚动方法,否则我不建议使用第二种方法.
总结以上是内存溢出为你收集整理的python – 在特定列上的pandas上滚动平均值全部内容,希望文章能够帮你解决python – 在特定列上的pandas上滚动平均值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)