2020-03-20
阅读量:
1073
我想做个循环,求每列最后一个值减去第一个值 循环写不对
我想做个循环,求每列最后一个值减去第一个值 循环写不对

代码是这么写的:
c=[]
for i in data_01_.columns:
new=data_01_.iloc[:10,i].mean()-data_01_.iloc[-10,i].mean()
c.append(new)
我感觉我现在有点晕,不知道怎么才对了
答:这个代码的问题是你的索引错了

冒号丢掉了,[-10:,i]这样才取到后10个
其实还可以使用pandas dataframe对象的apply方法,代码写起来更简单。
data_01_.apply(lambda x:x[:10].mean()-x[-10:].mean())
这样的代码不仅简单,性能上也比for循环高许多。尤其是对行做操作时性能优势更明显,毕竟大部分数据的行比列多许多。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论