Python 替换一列中的值,具体取决于另一列中的值

Python 替换一列中的值,具体取决于另一列中的值,python,dictionary,replace,Python,Dictionary,Replace,如果col2 value==“b” 如何做到这一点? 谢谢,有几种方法可以做到这一点,但为了清楚起见,您可以使用: 为了简单起见,我还修改了dict,使其具有整数键 输出: import pandas as pd dict = { 1: 'Alb', 2: 'Bnk', 3: 'Cd' } df = pd.DataFrame( { 'col1': { 0: 20, 1: 2,

如果
col2 value==“b”

如何做到这一点?
谢谢,有几种方法可以做到这一点,但为了清楚起见,您可以使用:

为了简单起见,我还修改了
dict
,使其具有整数键

输出:

import pandas as pd

dict = {
    1: 'Alb',
    2: 'Bnk',
    3: 'Cd'
}

df = pd.DataFrame(
    {
        'col1': {
            0: 20,
            1: 2,
            2: 10,
            3: 2,
            4: 44
        }, 
        'col2': {
            0:'a',
            1:'b',
            2:'c',
            3:'b',
            4:20
        }
     }
)

def change(data, col2val, dict):
    if data['col2'] == col2val:
        data['col1'] = dict[data['col1']]

    return data

new_df = df.apply(change, axis = 1, col2val = 'b', dict = dict)

print(new_df)
import pandas as pd

dict = {
    1: 'Alb',
    2: 'Bnk',
    3: 'Cd'
}

df = pd.DataFrame(
    {
        'col1': {
            0: 20,
            1: 2,
            2: 10,
            3: 2,
            4: 44
        }, 
        'col2': {
            0:'a',
            1:'b',
            2:'c',
            3:'b',
            4:20
        }
     }
)

def change(data, col2val, dict):
    if data['col2'] == col2val:
        data['col1'] = dict[data['col1']]

    return data

new_df = df.apply(change, axis = 1, col2val = 'b', dict = dict)

print(new_df)
  col1 col2  
0   20    a  
1  Bnk    b  
2   10    c  
3  Bnk    b  
4   44   20