如何基于其他对应列的单元格值更改列的单元格值

时间:2019-04-30 06:38:10

标签: python-3.x pandas

粘贴示例行。

Order Number    Serial Number
318696896   Z002
319105547   Z002
319105547   Z001
319161135   Z002
319161135   Z002
319161135   Z001
319161135   Z002
319305928   Z002
319305928   Z001
319750023   Z001
319977802   Z002
319977802   Z001
319977802   Z002
320001459   Z001
320001459   Z002
320001459   Z002
320001459   Z002
320016159   Z001
320028629   Z002
320028629   Z001

例如第三行订单号319105547Z001,在这里我必须将第二行的序列号从Z002更改为Z001,就像我必须对其他订单进行更改一样数字。

1 个答案:

答案 0 :(得分:0)

def correct_serial(df):
    serial_nos = df['Serial Number'].values
    if 'Z001' in serial_nos:
        df.loc[:, 'Serial Number'] = 'Z001'

    return df

df = df.groupby('Order Number').apply(correct_serial)

因此,如果订单号的序列号为“ Z001”,则它将该订单号的所有序列号更改为“ Z001”,否则保留使用的内容。