Преобразование str в int с пустыми ячейками pandas
import pandas as pd
df = pd.DataFrame({'Минимум': [0, 0, 0, 0, 0, 0, 0],
'vendor1': ['', '', '65000', '', '14000', '11000', ''],
'vendor2': ['22000', '12000', '', '', '15000', '', '71000'],
'vendor3': ['', '', '', '', '', '9900', ''],
'vendor4': ['23000', '', '', '', '13600', '', '76000']})
Имеется DataFrame df, который имеет типы:
Задача состоит в том, что бы в каждой строке от vendor1 до vendor4 включительно найти минимальное значение и вставить его в первый столбец 'Минимум'. Что бы в итоге первый столбец состоял из значений: 22000, 12000, 65000, 0, 13600, 9900, 71000. И сюда логично напрашивается код:
df['Минимум'] = df.loc[:,'vendor1':'vendor4'].min(axis=1)
Но я не могу совладать с типами столбцов и ячеек, т.к. знаний не хватает. Понимаю, что сейчас строки в df не могут иметь параметра минимум и поэтому код не работает, но если все переделать в int то программа ругается на пустые ячейки. Если начать использовать fillna(0).dtype(int) то код фактически работает, но нули мешают. В общем я устал и запутался.
Вопрос.
Подскажите, как в нужных в столбцах (от vendor1 до vendor4) преобразовать типы данных (в int) только заполненных ячеек, и при этом игнорировать пустые ячейки? Ну и в дальнейшем что бы минимальное значение выбиралось из нужного диапазона только в том случае, если ячейка заполнена цифрой.
Иными словами нужно, что бы получилось так:
Спасибо.