Сравните значение столбца с int в dataframe с python - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть датафрейм и я хочу перебрать строки моего номера столбца, если число <5, тогда мой столбец STATE принимает значение 'vv' если число находится между [5..17], то мое значение моего столбца STATE принимает «xx». ELSE STATE принимает «уу». Я написал этот код, но он не работает .. </p>

Любой помогает, пожалуйста.

спасибо `

for it in dframe['number']:
        if (it < 5):
            dframe['STATE'] = 'vv'
        elif (it >= 5 & it < 17):
            dframe['STATE'] = 'xx' 
        else: 
            dframe['STATE'] = 'yy'`

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Вы можете сделать это в одну строку с пониманием списка:

dframe['STATE'] = ['vv' if (i < 5) else 'xx' if (i >= 5) & (i < 17) else 'yy' for i in dframe['number']]
0 голосов
/ 08 ноября 2018

Ниже код должен работать для вас.

dframe['state']=''
dframe.loc[dframe['number'] <5, 'state'] = 'vv'
dframe.loc[(dframe['number'] >5) & (dframe['number']<17), 'state'] = 'xx'
dframe.loc[dframe['state'] =='', 'state'] = 'yy'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...