Предупреждение: оба указанных решения (astype () и apply ()) не сохраняют значения NULL в форме nan или None.
import pandas as pd
import numpy as np
df = pd.DataFrame([None,'string',np.nan,42], index=[0,1,2,3], columns=['A'])
df1 = df['A'].astype(str)
df2 = df['A'].apply(str)
print df.isnull()
print df1.isnull()
print df2.isnull()
Я считаю, что это фиксируется реализацией to_string ()