我有一个数据框,每列中包含不同数量的值。我创建了一个掩码,告诉我每列中有多少值,其中包含来自其他帖子的以下代码>我得到以下结果
count_year_mask = df_mth_return.notnull().sum()
results in series like this
AAPL US Equity 312
GOOGL US Equity 161
GOOG US Equity 45
MSFT US Equity 312
AMZN US Equity 248
FB US Equity 68
然后我想从上面的系列中删除df_mth_return中不到180的所有列。我希望DF只有>列180个数字。因此,GOOGL,GOOG和FB将被淘汰。我试过这段代码并得到以下错误
df_mth_return.drop(np.where(count_year_mask<180))
ValueError: Buffer has wrong number of dimensions (expected 1, got 3)
这看起来像一个简单的面具,所以不确定我做错了什么。如果可以,请帮助
答案 0 :(得分:0)
您可以使用loc
来过滤列:
df_mth_return.loc[:, count_year_mask>=180]
或者:
df_mth_return.loc[:, ~count_year_mask<180]