Python 基于列的平均值从数据帧中排除列,而不使用循环

Python 基于列的平均值从数据帧中排除列,而不使用循环,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据帧df,我想删除平均值大于10小于2的列。没有循环我怎么做 我没打圈就试过了 df=df.drop(df.mean(axis=1)>10 and df.mean(axis=1)<2) df=df.drop(df.mean(axis=1)>10和df.mean(axis=1)您不能使用drop,但您可以索引…您还需要使用和而不是和: m = df.mean(axis=1) # calculate once df = df.loc[:, (m>10) &

我有一个熊猫数据帧df,我想删除平均值大于10小于2的列。没有循环我怎么做

我没打圈就试过了

df=df.drop(df.mean(axis=1)>10 and df.mean(axis=1)<2)

df=df.drop(df.mean(axis=1)>10和df.mean(axis=1)您不能使用drop,但您可以索引…您还需要使用
而不是

m = df.mean(axis=1)  # calculate once
df = df.loc[:, (m>10) & (m<2)]
m=df.平均值(轴=1)#计算一次

df=df.loc[:,(m>10)和(myour的答案是正确的,但我认为,axis=0,因为我想删除列。再次感谢,当我将它应用于某些数据帧时,其中一些条目为nan,一些条目长度不等,我有一个错误:不可对齐的布尔序列键provided@user3841581你试过
df=df.loc[:,(m>10)和(m)了吗