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

时间:2015-11-16 17:07:28

标签: python pandas 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

它们似乎都不起作用。如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

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