Мне нужна ваша помощь для управления pandas df (около 30 миллионов строк). В частности, мне нужно извлечь данные из df и создать несколько листов (которые я буду экспортировать в csv) с определенной формой c. В моем df у меня есть 4 переменные (страна, партнеры, годы, продукт), и для каждой страны и продукта мне нужен df с партнерами (в столбце) и годы (в строке). Это мои переменные:
country = "ITA"
years = [2017, 2018]
product = 3312
partners = ["FRA", "USA", "CHI"]
Данные, которые я должен извлечь, находятся в столбце «Значение» df. Я сделал очень медленный код, который создает «лист» для фрейма данных с тем, что мне нужно:
sheet=pd.DataFrame({"Partners" : partners})
for n in years:
association = []
for i in partners:
association.append(round(df.loc[(df['Reporter'] == country) & (df['Partner'] == i) & (df['Year'] == n) & (df['Product'] == product), 'Value'].sum()/10**6 , 3)) # data are in bln
sheet[n] = association
Pls, помогите мне с оптимизированным кодом для выполнения этой операции. Большое спасибо