df - база данных с погодой в виде столбца
Weather
Rain, freezing cold
Rain, and thunder
Thunderstorm, and dust
Drizzle, for half an hour
Drizzle, for sometime
Rain, non stop
Slight rain
Код
heavy_rain_indicator = ['Rain,','Thunderstorm,',]
light_rain_indicator = ['Drizzle,','Slight rain']
df['Heavy Rain Indicator'] = (df['Weather'].str.contains(heavy_rain_indicator))
df['Light Rain Indicator'] = (df['Weather'].str.contains(light_rain_indicator))
Ожидаемый результат:
Weather Heavy Rain Indicator Light Rain Indicator
Rain, freezing cold TRUE FALSE
Rain, and thunder TRUE FALSE
Thunderstorm, and dust TRUE FALSE
Drizzle, for half an hour FALSE TRUE
Drizzle, for sometime FALSE TRUE
Rain, non stop TRUE FALSE
Slight rain FALSE TRUE
Фактический результат
TypeError: unhashable type: 'list'
----> 4 df['Heavy Rain Indicator'] = (df['Weather'].str.contains(heavy_rain_indicator))
Я хочу, чтобы столбцы индикатора сильного дождя были TRUE
, когда присутствуют индикаторы сильного дождя и индикатор слабого дождя быть TRUE
при наличии индикаторов небольшого дождя
Кто-то предложил использовать isin
(а затем удалил сообщение), но я не могу набрать точное выражение, поэтому для индикатора сильного дождя, например, я хочу, чтобы все значения начинались с дождем, чтобы быть в столбце тяжелых индикаторов и так далее. Пожалуйста, ответьте соответственно