Панды - функция сброса

Я хочу удалить строки из фрейма данных, исходя из условия, что значение определенного столбца находится в списке. Если это не так, я хочу, чтобы строка была удалена.

Есть ли у вас какие-либо предложения? заранее спасибо

Например, если значение в столбце «C» не входит в список l, я хочу удалить всю строку

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(20, 4)), columns=list('ABCD'))

l = [4, 6, 23, 45, 79]

Не могли бы вы предоставить некоторые текстовые данные, что вы пробовали и какие результаты вы ожидаете?

ArchAngelPwn 10.05.2022 14:43

Привет и добро пожаловать на SO. Будет здорово, если вы сможете взглянуть на Как спросить, а затем попытаться создать минимальный воспроизводимый пример.

rpanai 10.05.2022 14:45

Или какое условие? Какое значение? Отредактируйте вопрос.

Renato C.Francisco 10.05.2022 14:45

ой извините, сейчас отредактировал

jb_1996 10.05.2022 14:50
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
34
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
df = df[df.apply(lambda x: any(x.isin(l)), axis=1)]

если только один столбец должен быть

а если, то только C:

df[df.apply(lambda x: x["C"] in l, axis=1)]

или, если все столбцы:

df = df[df.apply(lambda x: all(x.isin(l)), axis=1)]

Вы можете попробовать так:

df = pd.DataFrame([[1, 2], [3, 4], [5, 6]], columns=["a", "b"])

df[(df.a.isin([3]) == False)]

Это оставит во фрейме данных только те строки, значение a которых отсутствует в списке, заданном isin, то есть там, где оно не равно 3.

Другие вопросы по теме