vmamontov

some_task

Apr 20th, 2022
1,038
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.02 KB | None | 0 0
  1. import pandas as pd
  2.  
  3. df = pd.read_excel('https://vk.com/s/v1/doc/9--D8fnrQ9foqxym3L7h4A7BHovYoD0nnXPyotUzpqWX5ZOFStw')
  4.  
  5. stm_amount = 2
  6.  
  7. data = {}
  8.  
  9. for brend in df['Бренд'].unique():
  10.     total_vp = df[df['Бренд'] == brend]['ВП'].sum()
  11.     stm = df[(df['Бренд'] == brend) & (df['Тип_ВМП_истор'] == 'СТМ')]['Кол-во в упак'].sum()
  12.     no_stm = df[(df['Бренд'] == brend) & (df['Тип_ВМП_истор'] != 'СТМ')]['Кол-во в упак'].sum()
  13.     res = (total_vp / stm) * stm_amount - (total_vp / no_stm) * stm_amount
  14.     data[brend] = res
  15.  
  16. # вывод результатов на экран
  17. for k, v in data.items():
  18.     print(k, v)
  19.  
  20. print('-'*50)
  21.  
  22. # преобразование результатов в датафрейм и его присоединение к исходному
  23. df2 = pd.DataFrame.from_dict(data, orient='index').reset_index()
  24. df2.columns = ['Бренд', 'Результат']
  25. df_new = df.join(df2.set_index('Бренд'), on='Бренд')
  26. df_new
Advertisement
Add Comment
Please, Sign In to add comment