好吧,我找过其他类似的问题,但我就是没法解决。
1)我有一个读取多个文件的for循环
2)对于每个文件,我需要其长度(t)
3)然后我需要df重复(t)次的值。
如果我不使用for循环,这很好,但是通过在循环中使用相同的脚本,我得到的错误是“numpy.ndarray”对象不可调用。我认为这是因为我把np.repeat当作一个函数来处理,但我不知道如何修复它。关于如何解决这个问题有什么好建议吗?
result_files = '/Users/result_files'
reservoirs = ['AA','AB', etc.]
for res in reservoirs:
res_files = pd.read_csv('{}/{}_storage.csv'.format(result_files,res), index_col=0, skiprows=1, parse_dates=True)
T = len(res_files)
### Df of number of days per month x length of reservoir's data
df = pd.DataFrame.from_dict(df, orient='index')
df = df.transpose()
df = pd.DataFrame(np.repeat(df.values,T,axis=0))
误差
File "/anaconda3/lib/python3.7/site-packages/pandas/core/frame.py", line 974, in from_dict
if isinstance(list(data.values())[0], (Series, dict)):
TypeError: 'numpy.ndarray' object is not callable
例如,假设我的df具有以下值:
df= ( 1.3, 1.5, 1.7)
我的文件的长度是3,我的输出应该是这样的
T = 3
[Out]
df= ( 1.3, 1.5, 1.7
1.3, 1.5, 1.7
1.3, 1.5, 1.7. )