我有一个包含许多列(变量)的大型数据帧。我的总体目标是删除定义为标准偏差小于第25个百分位数的列的不变列。
为了增加细微差别,我希望这个过程对非浮点型或非整型列是健壮的。
这就是我所能得到的:
import pandas as pd
df = pd.DataFrame.from_dict({
'a':[1,0,0,0,0,0,0,0,0,0,0],
'b':[1,1,2,3,1,0,0,0,0,0,0],
'c':['Yes','No','Yes','No','Yes','No','Yes','No','Yes','No']
})
dummy_df = df.quantile([0.25], axis=0) <= df.std(axis=0)
发布于 2021-01-20 00:45:44
这样,您就可以采用Raf的解决方案,并在Numeric列上实现它:
numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
new_df = df.select_dtypes(include=numerics).loc[:, df.quantile(0.25) < df.std()]
df = pd.concat([new_df, df.select_dtypes(exclude=numerics)], ignore_index=True)
https://stackoverflow.com/questions/65794215
复制相似问题