【发布时间】:2020-05-12 05:24:18
【问题描述】:
我正在执行一个非常简单的操作,我想将数据框中的值更改为前面值的平均值。
period = 14
u[u.index[period-1]] = np.mean( u[:period] )
但是这会返回一个以
结尾的冗长错误File "pandas\_libs\lib.pyx", line 2399, in pandas._libs.lib.tuples_to_object_array
TypeError: Expected tuple, got str
我是个新手..
非常感谢您。
[编辑]
数据样本:
Instrument S&PCOMP
Field
Dates
12/05/2015 0
13/05/2015 0
14/05/2015 22.62
15/05/2015 1.63
18/05/2015 6.47
19/05/2015 0
20/05/2015 0
21/05/2015 4.97
22/05/2015 0
25/05/2015 0
26/05/2015 0
27/05/2015 19.28
28/05/2015 0
预期输出:
Instrument S&PCOMP
Field
Dates
12/05/2015 0
13/05/2015 0
14/05/2015 22.62
15/05/2015 1.63
18/05/2015 6.47
19/05/2015 0
20/05/2015 0
21/05/2015 4.97
22/05/2015 0
25/05/2015 0
26/05/2015 0
27/05/2015 19.28
28/05/2015 4.580833333
【问题讨论】:
-
你能创建数据样本吗?
-
熊猫数据框上有一个内置的
mean()函数,如果有帮助的话。 pandas.pydata.org/pandas-docs/stable/reference/api/… -
@jezrael:见上文。伊万,我正在使用 mean()
-
谢谢,你能从样本数据中创建预期的输出吗?
-
@Tikhon - 你能测试
u.iloc[period-1] = u.iloc[:period].mean()吗?只有 13 行数据,所以对我来说period = 14样本数据不起作用(用样本数据测试周期 = 13)
标签: python pandas tuples typeerror