У меня есть фрейм данных, и я хочу повторить информацию в столбце 1, чтобы разделить его на три категории (государственные лаборатории, частные лаборатории, лаборатории учреждений), которые будут добавлены в другой столбец. Столбец 1 выглядит следующим образом (пример ):
ЛАБОРА -PRIV LAB1 -АРКАНЗАС -CD C LAB -ПРИНСЕТОН -LAB -PRIV LAB 2 -FLORIDA
и так далее ...
Мой код (по крайней мере, соответствующая часть) выглядит так:
laborat=cov["LABORA"] #cov is my df, and LABORA the column im interested in
cond1=laborat.str.contains("PRIV", case=False) #condition to look for string PRIV on each cell
cond2= laborat.isin(["STATE 1", "STATE 3",...."STATE N"]) #condition to look for if a string is in a list of states
cond3= i have no clue
my for l oop выглядит так:
privados=[]
for row in laborat:
if cond1 == True:
privados.append("PRIVATE LABS")
elif cond2 == True:
privados.append("STATE LABS")
#else:
# privados.append("INSTITUTION LABS")
cov["privados"]= privados
Итак, если строка имеет PRIV строку, переходит в PRIVATE LABS, если строка находится в списке состояний, переходит в STATE LABS, а любая другая, которая не соответствует этим, переходит в ИНСТИТУЦИОНАЛЬНЫЕ ЛАБОРАТОРИИ с своим предыдущим именем.
Итак, я попробовал и не могу получить его. Мои знания о python равны c. При запуске получаю такое сообщение:
ValueError Traceback (most recent call
> last) <ipython-input-22-fa9897c323bc> in <module>
> 2
> 3 for row in laborat:
> ----> 4 if cond1 == True:
> 5 privados.append("PRIVADOS")
> 6 elif cond2 == True:
>
> D:\ArchivosProgramas\Anaconda\envs\pandas_playground\lib\site-packages\pandas\core\generic.py
> in __nonzero__(self) 1476 1477 def __nonzero__(self):
> -> 1478 raise ValueError( 1479 f"The truth value of a {type(self).__name__} is ambiguous. " 1480
> "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
>
> ValueError: The truth value of a Series is ambiguous. Use a.empty,a.bool(), a.item(),
> a.any() or a.all().
Я был бы признателен за любую помощь. Извините, если это слишком базовый c, искал что-то похожее и ничего не нашел.
ОБНОВЛЕНИЕ: Большое спасибо за вашу помощь. Я оставлю здесь несколько комментариев. Моя структура данных - это файл csv со 100 столбцами и примерно 150 000 строк. Столбец, который меня интересует, относится к разным типам лабораторий, я адаптировал его только для США, надеясь, что он будет более полным, все в этом столбце - строки.