Я новичок в питоне.У меня есть ощущение, что есть быстрое решение, но мне пока ничего не казалось быстрым.
У меня есть 150 000+ строк данных, data
.Внутри него две серии: gridcode
и CH4_Flux
среди других.Я хочу создать новый категориальный столбец с именем category
, который присваивает категориальный идентификатор каждой строке на основе четырех условий, показанных здесь:
cat1 = data[(data.gridcode <= threshAV) & (data.CH4_Flux >= threshAM)]
cat2 = data[(data.gridcode >= threshAV) & (data.CH4_Flux >= threshAM)]
cat3 = data[(data.gridcode <= threshAV) & (data.CH4_Flux <= threshAM)]
cat4 = data[(data.gridcode >= threshAV) & (data.CH4_Flux <= threshAM)]
, где threshAV
- это заранее определенный порог для gridcode
и threshAM
является заранее определенным порогом для CH4_Flux
.По существу, либо оба превышают порог, ни превышают, либо один или другой превышает.Предпочтительно, чтобы категориальные метки были просто целыми числами 1, 2, 3 и 4, соответственно, следуя логике cat1
, cat2
, cat3
и cat4
выше.
Я пробовал циклы for
и операторы if
и where
, но вычеркнул.
При экспериментировании с петлями for
я обычно получаю сообщение об ошибке:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Заранее благодарим вас за любые советы или указания!