Каждый раз, когда вы делаете df['Group'] = np.where(...)
, вы устанавливаете значения столбца Group
с самого начала.Таким образом, в вашей серии утверждений единственное, что действительно имеет значение, является последним:
df['Group'] = np.where(df['Day'] == 'Sunday', 1, 0)
Чтобы обойти это, вы можете установить все значения столбца 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'].isin(['Saturday', 'Sunday']), 1, 0)
Output:
Day Group
0 Monday 0
1 Tuesday 0
2 Wednesday 0
3 Thursday 0
4 Friday 0
5 Saturday 1
6 Sunday 1