如何解决在具有绑定值的Pandas DataFrame中查找值的运行标准偏差
我有一个DataFrame limitdf
,该数据框的值分为31个bin,标记在MASS_BINS
列中。我想按bin查找此DataFrame中其他列的均值和标准差。我试图为每个bin生成一个元组(mean,std)
数组:
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
对我大叫。为什么这不起作用,或者有更好,更轻松的方法呢?
解决方法
您尝试过大熊猫的DataFrame.rolling
吗?看看this。
我认为这不是熊猫问题,但实际上与您尝试在i
是长度为0的列表时为stdarray
中的索引stdarray
分配值有关
简单地说,如果i
= 0,您对python的意思是“请用x替换stdarray
的元素0”。但是stdarray
没有元素0,因此python崩溃了。
因为您正尝试将某物assign
list index
out of range
上。
要解决您的问题,您应该尝试使用stdarray.append(YOUR_CODE_HERE)
而不是stdarray[i] = YOUR_CODE_HERE
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。