1 merge+drop_duplicated(how=left, subset) 如果左表本身就是有重复的 需要先给左表生成一个每行唯一索引 才能实现vlookup的效果


2 对某一列的每一行进行判断赋值 即for i in 行数:  df.loc[如果i==?, 某列]= 赋值

其中 如果是在另一列的基础上进行赋值 赋值可以是 df['另一列'].loc[i]+-*/ 也可以直接整列df['另一列']+-*/

例如:

df1_5 = pd.DataFrame(
    [list(map(str, range(1,5))), range(1,5)],
    index= ['A', 'B']
).T
df1_5.set_index('A', inplace= True)
df1_6 = df1_5.astype(int, copy= True)
df1_7 = df1_6.copy()
df1_7['C'] = df1_6.B
for i in list(map(str, range(1,3))):
    df1_7.loc[
        df1_6.index== i,
        'C'
    ] = df1_6.B - 10 # 可直接减 也可 df1_6.B.loc[i] - 10
df1_7.drop(columns= 'B')

'''效果一致'''
df1_8 = df1_6.copy()
df1_8['C'] = df1_6.B
for i in list(map(str, range(1,3))):
    df1_8.loc[
        df1_6.index== i,
        'C'
    ] = df1_6.B.loc[i] - 10
df1_8


如果没有判断而直接赋值 那就直接for i in 行数:  df.loc[i, 某列]= 赋值 等效于 df['某列'] = 赋值 (不能用df.某列)



3 替换 "/"替换为None 一定要填写value 否则默认向下填充 replace