Я новичок в Python и пытаюсь получить совет, пожалуйста.
Я опрашиваю CSV-файл, содержащий около 500 тыс. Строк данных.
Я (вроде) пытаюсь реплицировать логи c формулы xlsx SUMIFS с несколькими критериями для создания нового фрейма данных из моего исходного набора данных с помощью groupby ().
Я думаю, что это хорошо работает для меня (хотя скажите мне, если это глупо), так как я хочу, чтобы мои выходные данные в виде матрицы (это 132 строки х 15 столбцов). Затем я могу умножить его на другие матрицы с такими же размерами и затем экспортировать в Excel.
При таком подходе мне нужно сделать около 100 различных версий ... одна из критериев / переменных в кадре данных относится в «СТРАНУ» ... и у меня есть список из 100 стран, для которых мне нужно провести анализ.
df = pd.read_csv("SourceFile.csv", encoding = 'latin-1')
df = df[((df.Item == cat | (df.Item == dog) | (df.Item == sheep) | (df.Item == chihuahua))
& (df.Year == 2019)
& (df.Country == 0) <<< This is the variable I want to repeat 100x
].groupby(['ID', 'Customer'])['Amount'].sum().unstack(fill_value = 0)
Прежде чем я начну выяснять, как l oop через мой список кодов стран мои вопросы:
(1) Это разумный способ структурирования анализа? Боюсь, я слишком стараюсь заставить Python вести себя как Excel, а не использовать Python наиболее эффективным из возможных способов
(2) Многое из того, что я прочитал, предполагает, что понимание списка (или векторизация) будет быстрее, чем использование for-l oop ... это уместно в этом случае?
Большое спасибо