Дружище, если тебе действительно необходимо изучить ЯП - его лучше проработать с азов, с самого начала. Иначе будут много странных непонятностей и непонятных странностей.
Судя по некоторым признакам, ты не имеешь склонности к тщательному изучению предмета.
Можешь попробовать бесплатные курсы Python на каком-либо степике и т.п.
Я бы посмотрел, как делают другие, и из вариантов выбрал бы тот, который мне кажется правильным. А если в дальнейшем получил бы обратную связь от работодателей, то по ним бы и исправил.
Если instaloader - папка, то это не модуль, а пакет. Модуль - это файл с расширением .py, и если таковой есть в пакете, то его можно импортировать командой import packetname.modulename as mymodule
А потом обращаться к функциям или классам этого модуля как
M-Pack, слушай, ну может если ты точно знаешь, что там должно быть, и знаешь, что получается, то сделать костылик: явную проверку типа и приведение к нужному?
На первый взгляд, есть разница - в колонке ShortTermAmount есть пустые ячейки, а в колонке RequestedAmount пустых ячеек нет. Возможно, в read_csv есть внутренняя логика, на которую этот факт влияет. Например, система заменяет пустые ячейки на NaN, а оно - float. Значит, вся колонка float.