У меня есть база данных с несколькими столбцами и строками. Я хочу найти в базе данных строки, которые соответствуют определенным критериям подмножества столбцов И если он удовлетворяет этим критериям, измените значение другого столбца в той же строке.
Я создаю прототип с использованием следующей базы данных '''
df = pd.DataFrame([[1, 2], [4, 5], [5, 5], [5, 9], [55, 55]], columns=['max_speed', 'shield'])
df['frcst_stus'] = 'current'
df
'' ', который дает следующий результат:
max_speed shield frcst_stus
0 1 2 current
1 4 5 current
2 5 5 current
3 5 9 current
4 55 55 current
Я хочу изменить строку индекса 2 на 5, 5, «привет», не изменяя остальныефрейм данных.
Я могу сделать примеры в документации Pandas.loc при настройке значений. Я могу установить строку, столбец и строки, соответствующие условию вызова. Но вызов на один столбец или серию. Я хочу два.
И я нашел несколько ответов от stackoverflow, которые отвечают на вопрос, используя loc в одном столбце, чтобы установить значение во втором столбце. Это не моя проблема. Я хочу выполнить поиск в двух столбцах данных.
Следующее позволяет мне получить нужную строку: '' '
result = df[(df['shield'] == 5) & (df['max_speed'] == 5) & (df['frcst_stus'] == 'current')]
' '' И я знаю, что просто изменив значениезнаки (== 'current') to (= 'current') дают мне ошибку.
И когда я выбираю два столбца, я могу установить столбцы (см. ниже), но оба столбца будут установлены. ('arghh'), и когда я пытаюсь проверить значение 'max_speed', я получаю ложное сообщение об ошибке индекса. '' 'df.loc [:, [' max_speed ',' frcst_stus ']] =' hello '
' ''
Я также получаю сообщение об ошибке, пытаясь объяснить логические проблемы сPython. Честно говоря, я пока не понимаю всей перегрузки.
Я пытаюсь соблюдать требования к форматированию, пожалуйста, дайте мне знать, если я нарушаю требования к форматированию Stackoverflow.