С учетом следующего кадра данных:
df = pd.DataFrame({'list_col': [np.random.randint(0,100,size=(1, np.random.randint(0,10)))[0] for i in range(100000)]})

Каков оптимальный способ возврата суммы каждой строки? (пустые строки = 0)
Я читал, что использование .apply обычно не рекомендуется в pandas
df.list_col.apply(sum)

Однако , когда я пытался правильно использовать векторизованные вычисления, мне удалось получить только следующее:
np.nansum(pd.DataFrame(df.list_col.values.tolist()).values, axis=1)
, которое оказалось медленнее: 
Итак, как правильно использовать векторизованные вычисления numpy для массива списков различных размеров?