Я наблюдаю следующее поведение, которое я не понимаю при фильтрации фрейма данных
import pandas as pd
mydict={'dep':[0,0,0,0],'nr':[1,1,2,2],'ft':[1,2,3,4],'car':['corsa','astra','clio','megane']}
carsdf = pd.DataFrame(mydict)
condition1 = carsdf['nr'] == 1
condition2 = carsdf['ft'] == 1
carsdf.loc[condition1 & condition2,['dep']]['dep'].tolist()
Результат [0]
теперь я делаю то же самое снова, но после изменения типа на str
carsdf = carsdf.astype('str')
condition1 = carsdf['nr'] == 1
condition2 = carsdf['ft'] == 1
carsdf.loc[condition1 & condition2,['dep']]['dep'].tolist()
Результат []
Я бы ожидал ['0']
Внутри нет элемента. Почему 0 go исчезает при изменении типа на str?
как я могу гарантировать, что никакие данные не потеряны?
ПРИМЕЧАНИЕ. Если вам интересно, почему я хочу «0», потому что полученные данные также могут быть в форме «2,3,4», которые я хочу преобразовать в список значений. В случае 0 мне нужно ['0']
вот скриншот
спасибо
