【发布时间】:2021-10-09 03:48:27
【问题描述】:
我需要确定数据框中的哪些索引具有一组具有指定值的列中的任何一个。数据框有几百列,我需要使用几十列进行过滤,因此将它们全部写出来是不切实际的。我的策略如下,以确定任何名称中包含“temp”的列等于 1 的索引:
columns = [col for col in df.columns if 'temp' in col]
indices = list(np.where(df[columns]==1)[0])
但是,这会返回一个意外的结果 - 它似乎为 df 中的每个索引返回一个值。有什么线索会出错吗?
【问题讨论】:
-
我想到的一个临时解决方案是创建一个单独的 df,仅过滤到感兴趣的列(df_temp = df[columns]),然后在任何列中找到值为 1 的任何行(df_temp .where(df_temp==1) ?)