我有一个程序可以执行此操作:
df1 = pd.DataFrame(np.random.randn(100,5),
columns=['a','b','c','d','e',])
Run Code Online (Sandbox Code Playgroud)
从那里,我尝试删除均值 > 0 的列
如果我做
s = df1.mean() > 0
Run Code Online (Sandbox Code Playgroud)
那么 s 在我的例子中是一个 pandas 系列,等于:
a False
b False
c True
d True
e False
dtype: bool
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能将其应用于 df1 以便删除 cols c 和 d 呢?
我对整个事情的处理方式是错误的吗?
尝试这个:
df1[df1.columns[~s]]
Run Code Online (Sandbox Code Playgroud)
这将消除所有为 True 的列s,即c和d。
实现这一目标的另一种方法是:
df1.loc[:, ~s]
Run Code Online (Sandbox Code Playgroud)