我做了一个实验,在不同的“力”和“扫描速度”下测量“深度”。每组变量进行五次运行。你知道吗
我必须计算五次测量的最大深度以及测量的标准偏差。为此,我构建了一个熊猫数据帧,如下所示:
force scanspeed depth
0 0.5 10 3.541
1 0.5 20 2.531
2 0.5 10 3.020
3 1 10 2.130
4 0.5 20 1.502
5 0.5 10 4.102
6 2 50 2.413
...
(100+ rows)
对于这个数据帧,我想使用force
和scanspeed
列进行分组,并为每个组生成最大和标准偏差(有多行具有相同的力和扫描速度)。但是,在运行以下行时:
print(subframe.groupby(['force', 'scanspeed'])['depth'].agg([max, std]))
函数std
无法识别,提示NameError: name 'std' is not defined
。你知道吗
其他发现不起作用的函数包括:mean
、median
、corr
、var
、count
、np.std
。我还没有测试所有可用的函数,但到目前为止,似乎只有max
和min
可以工作,尽管所有这些函数都来自同一个pandas库(除了np.std标准当然)。你知道吗
在这个问题上,如果有任何帮助,我将不胜感激。你知道吗
如果您确定
np.std
在该语句作用域中是可访问的,那么agg
还允许您将某些函数的名称作为字符串传递:这条生产线似乎对我很管用,除了熊猫,我什么也不进口。你知道吗
否则,可以在该语句之前尝试类似于
np.std([0,1])
的调用,以确保它不会抛出错误。或者你可以试着把import numpy as np
放在前面。你知道吗相关问题 更多 >
编程相关推荐