如何在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中,有没有更简洁/高效的方法来实现这一点?您所说的“最可变行”是什么意思?你的意思是变化最大的行吗,用以衡量它们的变化程度?你的意思是你想得到大多数行吗?相对于列值来说,变量最大的行-即具有最高的标准偏差,但由于每行可能在不同的刻度上,我不能只取最大的标准偏差