其中Column项等于特定值insert insert new item

问题描述 投票:0回答:2

我试图在一个单独的Column中插入一个基于值的新Column。对于下面的df,我有一天的Column。如果这个Column的值等于Monday,我想把0插入一个名为Column的新Group

这是我的尝试:

import pandas as pd
import numpy as np

d = ({             
   'Day' : ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'],                                                                                                                                                 
    })

df = pd.DataFrame(data=d)

df['Group'] = np.where(df['Day'] == 'Monday', 0)
print(df)

错误:

ValueError:应该给出x和y两者或两者都不给出

python pandas numpy where assign
2个回答
2
投票

当天和非星期一时,您需要为两者提供值。如果你看看docs,那就是所谓的xy。现在你只为前者提供一些东西。所以,让我们说所有非星期一去第1组,然后你有:

df['Group'] = np.where(df['Day'] == 'Monday', 0, 1)

2
投票

很简单

df['Group']=(df['Day'] != 'Monday').astype(int)
© www.soinside.com 2019 - 2024. All rights reserved.