В pandas, как вы фильтруете столбец на основе определенного строкового значения

#python #pandas #numpy

#python #pandas #numpy

Вопрос:

У меня есть фрейм данных pandas, который выглядит как:

 
Col 1
100
$50
200
$250
40
$400
  

Как мне отфильтровать значения ‘$’ и не ‘$’ в их собственные конкретные столбцы?

Ответ №1:

 mask = df.Col.str.startswith("$")

df2["col1"] = df[mask]
df2["col2"] = df[~mask]
  

Комментарии:

1. Хороший ответ, но это неэффективно делать str.startswith дважды. Сохраните логический массив, затем дважды вызовите его как переменную: mask = df.Col.str.startswith("$") Then ~mask .