#python #pandas #dataframe
#python #панды #фрейм данных
Вопрос:
У меня есть pr2
фрейм данных, загруженный из CSV:
фрейм данных
И у меня есть список costs_pr2
:
список
Я хотел сохранить только строки, которые имеют значения из costs_pr2
столбца «затраты».
Я попробовал это:
pr2 = pr2[~pr2.costs.isin(costs_pr2)]
Но ничего не изменилось pr2
.
Что я делаю не так?
Ответ №1:
Вы можете использовать query
для достижения своей цели:
costs_pr2 = ['a','b','c']
new_dataframe = pr2.query("costs in @costs_pr2",inplace=False)
В противном случае вы могли бы напрямую:
pr2.query("costs in @costs_pr2",inplace=True)
Комментарии:
1. Что такое «затраты»? Int или строка?
2. Я хотел добавить, что может случиться так, что для строковых значений вам нужно будет добавить дополнительную цитату, например: df.query(‘col == «val»‘)