Если элемент столбца равен конкретному значению, вставьте новый элемент. - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь вставить новые значения 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 должны быть заданы

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Просто, как

df['Group']=(df['Day'] != 'Monday').astype(int)
0 голосов
/ 04 марта 2019

Вам необходимо указать значение для обоих, когда день не понедельник.Если вы посмотрите на документы , это то, что называется x и y.Прямо сейчас вы предоставляете только что-то для первого.Допустим, все не понедельники идут в группу 1, тогда у вас есть:

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