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