У меня есть pandas.Series
содержащие целые числа, но мне нужно преобразовать их в строки для некоторых инструментов downstream. Предположим, у меня был объект Series
:
import numpy as np
import pandas as pd
x = pd.Series(np.random.randint(0, 100, 1000000))
На StackOverflow и других сайтах я видел, как большинство людей утверждают, что лучший способ сделать это:
%% timeit
x = x.astype(str)
Это занимает около 2 секунд.
Когда я использую x = x.apply(str)
, он занимает всего 0,2 секунды.
Почему x.astype(str)
так медленно? Если рекомендуемым способом является x.apply(str)
?
В основном меня интересует поведение python 3.