Насколько я понимаю, Python не имеет нулевой строки. Python имеет значение None, но это не строка, а None, которая может быть применена ко всем переменным, а не только к тем, которые изначально определены как строка.
Вы можете использовать NoneType, но тогда столбец будет не строкой, а типом объекта. Вы по-прежнему можете вставлять строки в столбец, но изменение типа столбца на строку будет просто учитывать значения None как строку 'None'
, пожалуйста, посмотрите также: В чем разница между NaN и Нет?
test_df = pd.DataFrame(data={'numbers_column':np.nan,
'strings_column':[None, None, None,'random_str']},
index=[1,2,3, 4])
Надеюсь, это поможет.