【发布时间】:2017-04-15 03:26:01
【问题描述】:
我有一个 10000 行和 200 列的数据框; 'df'。所有列都是数字。例如,我需要一次找到三列的平均值;前三列的平均值(0:3),然后是接下来三列的平均值(3:6),依此类推。最后,我将得到 67 列。但我需要索引与原始索引相同。 这是我的方法:
l1=list(np.arange(0,200,3))
def func4(row):
data=row[0:200]
for i in l1:
if i!=198:
dat1=data[i:i+3]
np.mean(dat1)
else:
i=i-1
dat1=data[i:i+3]
np.mean(dat1)
return row
df.apply(func4,axis=1)
但这是我得到的错误,我理解,但我无法纠正它:
ValueError: 传递值的形状是 (1, 67),索引意味着 (1, 200) 非常感谢您的帮助。谢谢
【问题讨论】:
-
这里的问题和答案类似且更好:stackoverflow.com/questions/40963347/…