Pandas 在数据框子集上设置行值

Pandas set row values on dataframe subset

我有一个 MWE,看起来像这样:

import pandas as pd
test = pd.DataFrame({'A':['a','b'], 'B':['c','d']})

如果 A 列中的相应值等于 'a',我想用字符串替换 B 列中的值。我已经尝试了一些事情:

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

None 其中似乎有效。如何实现?

In [64]:
test.B.loc[test.A == 'a'] = 'Replacement'
test
Out[64]:
    A   B
0   a   Replacement
1   b   d