У меня есть MWE который выглядит следующим образом:Панды набор значений строк на dataframe подмножества
import pandas as pd
test = pd.DataFrame({'A':['a','b'], 'B':['c','d']})
Я хочу, чтобы заменить значения в столбце B со строкой, если соответствующие значения в столбце A равны ' а». Я попробовал несколько вещей:
In [27]: test[test['A']=='a']['B'] = 'REPLACEMENT'
In [28]: test
Out[28]:
A B
0 a c
1 b d
и:
In [30]: test.ix[test['A']=='a','B'].values.fill('REPLACEMENT')
In [31]: test
Out[31]:
A B
0 a c
1 b d
Ни один из них не похоже на работу. Как это можно достичь?
Вы должны получить сообщение об ошибке после того, как команда [27] сообщит вам, что вы делаете неправильно, и указав на решение. Какую версию панд вы используете? – DSM
Я, возможно, ошибочно пропустил это - я просто показывал свою логику. Я использую 16.2. – BML91
Сообщение об ошибке описывало проблему, рекомендовало решение и дало URL-адрес для продолжительного обсуждения, которое объясняет, что происходит с решением, и почему назначение с использованием цепочки индексирования не работает. Это стоит прочитать. – DSM