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
我有一个 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