python - 根据值替换 DataFrame 中的行

标签 python replace pandas dataframe

我想替换数据中的整行,前提是该行中的一列满足条件。 即红色是数据框

['1' 0.0 ' P']
['2' 0.0 ' S']
['3' 64  ' M']
['4' 70  ' M']



red=red.replace(to_replace=' M', value=0)

返回结果:

['1' 0.0 ' P']
['2' 0.0 ' S']
['3' 64  0]
['4' 70  0]

但我希望它返回:

['1' 0.0 ' P']
['2' 0.0 ' S']
['3' 0  0]
['4' 0  0]

最佳答案

使用loc过滤掉要归零的DataFrame部分,然后为其赋值。下面,它选择所有 c 列值是 'M' 的行,它获取从 bc 的所有列>,并将此选择的值设置为 0:

df = pd.DataFrame([['1', 0.0, 'P'],
    ...: ['2', 0.0, 'S'],
    ...: ['3', 64,  'M'],
    ...: ['4', 70,  'M'],], columns=['a', 'b', 'c'])

df.loc[df['c']=='M','b':'c'] = 0

df
Out[54]: 
   a  b  c
0  1  0  P
1  2  0  S
2  3  0  0
3  4  0  0

关于python - 根据值替换 DataFrame 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423414/

相关文章:

python - 将值从 python 循环 append 到单个列表或数组

python - 如何将program.exe设置为Windows 10的默认浏览器?

r - 使用 setNames 替换 R 数据框列中的多个值时出现奇怪的行为

python - Pandas - 按多索引级别分组,获取可能的组合,然后转换数据

python - Django/Python - ImportError : Could not import settings 'twitter.settings' (Is it on sys. 路径?):没有名为设置的模块

python - Python是否优化lambda x : x

sql-server - 替换 MS SQL Server 中的特定 Unicode 字符

ruby - 我可以使用字符串作为可执行代码行的一部分吗?

python - 如何根据不同 pandas 列中的值替换字符串

python - 类型错误 PYOMO : Defining constraints based on pandas dataframe