将现有列作为移动平均值复制到数据框
我想我想多了——我正在尝试复制现有的 pandas 数据框列和值并进行滚动平均——我不想覆盖原始数据。我正在遍历列,获取列和值,将滚动的 7 天 ma 作为新列,后缀_ma作为原始副本的副本。我想将现有数据与 7 天 MA 进行比较,并查看数据来自 7 天 MA 的标准偏差 - 我可以弄清楚 - 我只是想将 MA 数据保存为新数据框。我有for column in original_data[ma_columns]: ma_df = pd.DataFrame(original_data[ma_columns].rolling(window=7).mean(), columns = str(column)+'_ma')并得到错误:Index(...) must be called with a collection of some kind, 'Carrier_AcctPswd_ma' was passed但是如果我迭代for column in original_data[ma_columns]: print('Colunm Name : ', str(column)+'_ma') print('Contents : ', original_data[ma_columns].rolling(window=7).mean())我得到了我需要的数据:我的问题只是将其保存为一个新的数据框,我可以将其连接到旧的,然后进行分析。编辑我现在已经能够制作一堆数据框,但我想将它们连接在一起,这就是问题所在:for column in original_data[ma_columns]: MA_data = pd.DataFrame(original_data[column].rolling(window=7).mean()) for i in MA_data: new = pd.concat(i) print(i)<ipython-input-75-7c5e5fa775b3> in <module> 17 # print(type(MA_data)) 18 for i in MA_data:---> 19 new = pd.concat(i) 20 print(i) 21 ~\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy) 279 verify_integrity=verify_integrity, 280 copy=copy,--> 281 sort=sort, 282 ) 283 ~\Anaconda3\lib\site-packages\pandas\core\reshape\concat.py in __init__(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort) 307 "first argument must be an iterable of pandas " 308 "objects, you passed an object of type "--> 309 '"{name}"'.format(name=type(objs).__name__) 310 ) 311 TypeError: first argument must be an iterable of pandas objects, you passed an object of type "str"
查看完整描述