Суммирование одинаковых строк в Pandas
Есть таблица Excel с отчетом по продажам:
Необходимо просуммировать в python те строки, у которых совпадают значения в колонках A и C ('Артикул склад1' и 'Размер'), к примеру 3 и 4 строка. Нужно удалить дубликаты, а в оставшейся строке суммировать значения в столбцах от E до I. Библиотеку использую Pandas. В приведенном примере, получается, вместо 23 строк должно остаться 17.
У меня пока получилось только сделать проверку на одинаковые строки, но не знаю как суммировать значения в этих строках и удалить лишние:
import pandas as pd
#загрузка исходного файла
xls0 = 'C:/Users/1/Desktop/xls1.xlsx'
file = pd.read_excel(xls0)
#определение количества рабочих строк в исходном файле
lines_number = len(file.index)
#создание нового файла
file_new = file.copy()
#удаление всех строк в новом файле
for i in range(lines_number):
file_new.drop(labels=[i], axis=0, inplace=True)
#запись нового файла, опционально, для просмотра корретности предудыщих действий
file_new.to_excel('C:/Users/1/Desktop/xls2.xlsx', index=False)
for i in range(lines_number-1):
if file.iloc[i][0] == file.iloc[i+1][0] and file.iloc[i][2] == file.iloc[i+1][2]:
print('Equal')
else:
print('Not equal')
Вроде, разобрался, вот такой метод работает:
import pandas as pd
#загрузка исходного файла
xls0 = 'C:/Users/1/Desktop/xls1.xlsx'
file = pd.read_excel(xls0)
file_new = file.groupby(['Артикул', 'Размер'])['Артикул WB', 'Заказали, шт.', 'Заказали, руб.', 'Выкупили, шт.', 'Выкупили, руб.', 'Остаток, шт.'].sum().reset_index()
#запись нового файла
file_new.to_excel('C:/Users/1/Desktop/xls2.xlsx', index=False)
хотя и выдает предупреждение "FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated"
