我想我想多了——我正在尝试复制现有的 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"
FFIVE
相关分类