我有一个执行此操作的程序:
df1 = pd.DataFrame(np.random.randn(100,5),
columns=['a','b','c','d','e',])
从那里,我试图删除均值> 0的列
如果我做
s = df1.mean() > 0
在我的情况下,s是一个等于的熊猫系列:
a False
b False
c True
d True
e False
dtype: bool
但是如何将其应用于df1,以便删除cols和d?
我把整个事情都弄错了吗?
答案 0 :(得分:1)
尝试一下:
df1[df1.columns[~s]]
这将消除s
为True的所有列,即c
和d
。
另一种实现此目的的方法是:
df1.loc[:, ~s]
答案 1 :(得分:0)
IIUC,只需在您的 mask
中使用loc
s = df1.mean() > 0
df.loc[:, ~s]