Как векторизировать мой код в пандах? это длинное и неэффективноеPython

Программы на Python
Anonymous
 Как векторизировать мой код в пандах? это длинное и неэффективное

Сообщение Anonymous »

У меня есть этот код, который я написал, и для запуска требуется слишком много времени. Мне посоветовали векторизировать эту операцию, но до сих пор я нашел только примеры умножения. Вот мой код: < /p>

Код: Выделить всё

my_dict = {}
for i in list(df.index):
my_dict[i] = myClass(df.loc[i, 'name'])
my_dict[i].class_method({'col1': df.loc[i, 'col1']})
my_dict[i].class_method({'col2': df.loc[i, 'col2']})
...
< /code>
и так далее до 'col17'. Кто -то рассмотрел мой код и сказал, что [b] 'Используйте тот факт, что DF - это DataFrame, а не проходить и не использовать дорогую операцию .loc ()' [/b] 
Единственное, что я мог бы придумать: < /p>
my_list = ['col1', 'col2', ..., 'col17']
my_dict = {}

for i in list(df.index):
my_dict[i] = myClass(df.loc[i, 'name'])
for col in my_list:
my_dict[i].class_method({col: df.loc[i, col})

Но это на самом деле не векторизует ... Есть ли какие -либо секретные способы вокруг векторизации панды, о которых я не знаю?


Подробнее здесь: https://stackoverflow.com/questions/793 ... nefficient

Вернуться в «Python»