#python #pandas
Вопрос:
Как мне искать экземпляры во фрейме данных, где столбец «Кампания» содержит b0.
Я хотел бы не изменять значения фреймов данных, а вместо этого просто просматривать их, как если бы они были в нижнем регистре.
df.loc.str.casefold()[df['Campaign'].str.casefold().contains('b0')]
Недавно я поинтересовался, как это сделать в случае сопоставления определенной строки, как показано ниже, но то, о чем я спрашиваю выше, мне кажется более сложным.
df['Record Type'].str.lower() == 'keyword'
Комментарии:
1.
df[df['Campaign'].str.casefold().contains('b0')]
Работает ли это?2. нет, это дает «Ряд», объект не имеет атрибута «содержит». — ошибка. Но это также не устраняет необходимость просмотра самого заголовка столбца, как если бы он был в нижнем регистре.
Ответ №1:
Попробуйте с
df.loc[df['Campaign'].str.contains('b0',case=False)]
Комментарии:
1. это работает для работы с частью «b0», но как бы я ссылался на заголовок столбца как на его экземпляр в нижнем регистре, фактически не меняя его на нижний регистр?
2. @anarchocaps вам не нужно ничего менять, так как мы делаем регистр чувствительным к ложному
3. когда я меняю код с «Кампания» на «кампания», я получаю «KeyError: «кампания»