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

标签 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

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

最佳答案

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

关于python - Pandas 在数据帧子集上设置行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33740813/

相关文章:

python - Docker 要求无法安装

python - 有没有办法显示开发 Jupyter Notebook 所花费的时间?

Python Pandas 合并数据框中的同名列

python - 在范围内合并 Pandas 数据框的最快方法

python - pandas - 带倒计时的批处理分配

python - 无法正确索引 NUMPY 数组的列表

python - 每当在 VSCode/Python 中遇到断点时运行代码

python - 从 MultiIndex 中选择特定级别的数据

python - 带双引号的 panda 查询 python

r - 将 100 个数据帧合并为一个数据帧的函数