簡體   English   中英

根據Pandas中的多個條件替換列中的值

[英]Replace value in column based on multiple conditions in Pandas

我有這個 dataframe

df = pd.DataFrame.from_dict(
    {
        'Name': ['Jane', 'Melissa', 'John', 'Matt'],
        'Age': [23, 45, 35, 64],
        'Birth City': ['London', 'Paris', 'Toronto', 'Atlanta'],
        'Gender': ['F', 'F', 'M', 'M']
    }
)

當名字是MelissaJohn時,我想將Gender替換為X 我該怎么做?

這是我的解決方案:

df.loc[((df['Name'] == 'Melissa') | (df['Name'] == 'John')), 'Gender'] = 'X'

和 output

      Name  Age Birth City Gender
0     Jane   23     London      F
1  Melissa   45      Paris      X
2     John   35    Toronto      X
3     Matt   64    Atlanta      M

一個可能的解決方案:

df['Gender'] = df['Gender'].mask(df['Name'].isin(['Melissa', 'John']), other='X')

Output:

      Name  Age Birth City Gender
0     Jane   23     London      F
1  Melissa   45      Paris      X
2     John   35    Toronto      X
3     Matt   64    Atlanta      M

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM