其中列项目等于特定值插入新项目

Where Column item is equal to specific value insert new item

我正在尝试在单独的 Column 中插入一个基于关闭值的新 Column。对于下面的 df,我有 Column 天。如果此 Column 中的值等于 Monday,我想将一个 0 插入到一个名为 Group 的新 Column 中。

这是我的尝试:

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: either both or neither of x and y should be given

您需要为周一和非周一提供一个值。如果您看一下 docs,那就是 xy。现在你只为前者提供一些东西。所以假设所有非星期一都去第 1 组,那么你有:

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

就像

一样简单
df['Group']=(df['Day'] != 'Monday').astype(int)