Замена определенного значения в кадре данных - PullRequest
0 голосов
/ 18 декабря 2018

Я создал фрейм данных, прочитав два разных набора данных в виде файлов CSV.

В данный момент фрейм данных выводит что-то вроде этого:

     Name     Value 1     Value 2     Value 3    Value 4    Value 5
0     A          1          3           4           5          2
1     B          4          5           6           6          7
2     C          7          1           3           8          0
3     D          2          3           6           9          8
4     E          5          10          11          4          6
5     F          7          1           0           7          8

Хотя фактический фрейм данныхимеет более 200 рядов.Есть ли способ, например, для буквы B, изменить значение в столбце с именем Value 3 с 6 на 8?

1 Ответ

0 голосов
/ 18 декабря 2018

loc + логическое индексирование

Вы можете использовать loc с логическим индексированием: -

df.loc[df['Value 3'].eq(6) & df['Name'].eq('B'), 'Value 3'] = 8

Если равенство 6 не является обязательным,вы можете просто пропустить первое логическое условие.

set_index + at

Если ваша серия Name уникальна и выЕсли вы хотите обновить значение, независимо от его текущего значения, рекомендуется сделать Name вашим индексом, а затем использовать at для скалярной установки:

df = df.set_index('Name')
df.at['B', 'Value 3'] = 8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...