Добавление столбца в Pandas на основе нескольких условий в другом столбце - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь добавить столбец Year в свой DataFrame на основе значения, которое уже существует в столбце Rk.Я попытался использовать код ниже, однако он автоматически устанавливает все значения 0.

df['Year'] = np.where(df['Rk'] <= 540, '2017/2018', 0)
df['Year'] = np.where((df['Rk'] >= 541) & (df['Rk'] <= 1135), '2016/2017', 0)
df['Year'] = np.where((df['Rk'] >= 1136) & (df['Rk'] <= 1713), '2016/2017', 0)

1 Ответ

0 голосов
/ 09 октября 2018

Используйте cut с указанными ячейками:

df = pd.DataFrame({
    'Rk': [10, 540,541,1135,1136,1713,1714,2000],

})

labs = ['2017/2018','2016/2017','2015/2016', '0']
df['Year'] = pd.cut(df['Rk'], bins=[-np.inf,540, 1135, 1713, np.inf], labels=labs)
print (df)
     Rk       Year
0    10  2017/2018
1   540  2017/2018
2   541  2016/2017
3  1135  2016/2017
4  1136  2015/2016
5  1713  2015/2016
6  1714          0
7  2000          0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...