Начиная с этого простого dataframe df
:панд - маска dataframe по имени столбца
col1,col2
1,3
2,1
3,8
Я хотел бы применить логический mask
в зависимости от имени столбца. Я знаю, что это легко для значений:
mask = df <= 1
df = df[mask]
, которая возвращает:
маска:
col1 col2
0 True False
1 False True
2 False False
ДФ:
col1 col2
0 1 NaN
1 NaN 1
2 NaN NaN
, как и ожидалось. Теперь я хотел бы получить булеву маску на основе имени столбца, что-то вроде:
mask = df == df['col_1']
, который должен возвращать:
маски
col1 col2
0 True False
1 True False
2 True False
EDIT:
Это кажется странным , но мне нужны такие маски для более поздней фильтрации по колоннам с морскими тепловыми картами.
Извините, но зачем показывать cols, которые не отвечают критериям? Вы можете фильтровать, выполнив 'df.filter (['col1'])' или 'df [df.columns [df.columns == 'col1]] ' – EdChum
@EdChum спасибо! Фактически значения «True» относятся к значениям, соответствующим имени столбца, которое я хотел бы выбрать. –
Ну, вы можете просто сделать 'df.columns == 'col1'', который вернет булевую маску – EdChum