首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查找包含二进制值的Pandas DataFrame中值的运行标准差

查找包含二进制值的Pandas DataFrame中值的运行标准差
EN

Stack Overflow用户
提问于 2020-08-13 00:09:39
回答 2查看 76关注 0票数 0

我有一个DataFrame limitdf,它的值存储在31个bin中,标签在MASS_BINS列中。我想要通过bin找到此DataFrame中对象的其他列的平均值和标准差。我尝试为每个(mean , std)生成一个元组数组:

代码语言:javascript
运行
复制
stdarray = []
for i in range(0 , 31):
    stdarray[i] = [(limitdf['td_lmass'][limitdf.MASS_BINS == i].mean(axis = 0) , limitdf['PAB_SFR_EX2'][limitdf.MASS_BINS == i].std(axis = 0))]

这和IndexError: list assignment index out of range一起对我大喊大叫。为什么这不起作用,或者有更好和更简单的方法来做这件事?

EN

回答 2

Stack Overflow用户

发布于 2020-08-13 00:14:01

你试过熊猫的DataFrame.rolling吗?看看this吧。

票数 0
EN

Stack Overflow用户

发布于 2020-08-13 00:16:30

我相信这不是pandas的问题,而是当stdarray是长度为0的列表时,您试图在stdarray中为索引i赋值的问题。

在简单的语言中,如果i=0,那么您对python说的就是“请用x替换stdarray的元素0”。但是stdarray没有元素0,所以python崩溃了。

因为您正在尝试将某些内容assignout of range类型的list index

要解决您的问题,您应该尝试使用stdarray.append(YOUR_CODE_HERE)而不是stdarray[i] = YOUR_CODE_HERE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63380541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档