Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中从pandas dataframe中获取大多数变量行?_Python_Numpy_Pandas_Scipy_Dataframe - Fatal编程技术网

如何在Python中从pandas dataframe中获取大多数变量行?

如何在Python中从pandas dataframe中获取大多数变量行?,python,numpy,pandas,scipy,dataframe,Python,Numpy,Pandas,Scipy,Dataframe,从(数字)数据帧中获取最多可变行的有效方法是什么?对于大多数可变行,我指的是相对于列值而言变化最大的行,即标准偏差最高的行,但由于每行可能处于不同的尺度,所以不能仅取列中每行的最大绝对标准偏差。定义这一点的一种方法是计算绝对变异系数: df = pandas.DataFrame({"a": np.random.randn(10), "b": np.random.randn(10), "c": np.random.randn(10)}) new_df = df.std(axis=1).div(df

从(数字)数据帧中获取最多可变行的有效方法是什么?对于大多数可变行,我指的是相对于列值而言变化最大的行,即标准偏差最高的行,但由于每行可能处于不同的尺度,所以不能仅取列中每行的最大绝对标准偏差。定义这一点的一种方法是计算绝对变异系数:

df = pandas.DataFrame({"a": np.random.randn(10), "b": np.random.randn(10), "c": np.random.randn(10)})
new_df = df.std(axis=1).div(df.mean(axis=1)).abs()
var_df = df[new_df.max(axis=1) > np.percentile(new_df.max(axis=1),80)]

在pandas/numpy中,有没有更简洁/高效的方法来实现这一点?

您所说的“最可变行”是什么意思?你的意思是变化最大的行吗,用以衡量它们的变化程度?你的意思是你想得到大多数行吗?相对于列值来说,变量最大的行-即具有最高的标准偏差,但由于每行可能在不同的刻度上,我不能只取最大的标准偏差