У меня есть CSV-файл, и я в настоящее время использую модуль панд. Не нашли решение моей проблемы. Вот пример, проблема и желаемый вывод CSV.
Образец CSV:
project, id, sec, code
1, 25, 50, 01
1, 25, 50, 12
1, 25, 45, 07
1, 5, 25, 03
1, 25, 20, 06
Проблема:
Я не хочу избавляться от дубликатов (id), но суммирую значения (с) в (code) 01, если дубликаты найдены с использованием других кодов, таких как 12, 7 и 6. Мне нужно знать, как установить условия, а также. Если код 7 меньше 60, не суммируйте. Я использовал следующий код для сортировки по столбцам. однако .isin избавляется от «id» 5. В большем файле будут другие дубликаты «id» со схожими кодами.
df = df.sort_values(by=['id'], ascending=[True])
df2 = df.copy()
sort1 = df2[df2['code'].isin(['01', '07', '06', '12'])]
Желаемый вывод:
project, id, sec, code
1, 5, 25, 03
1, 25, 120, 01
1, 25, 50, 12
1, 25, 45, 07
1, 25, 20, 06
Я думал о разборе файла, но я застрял на логике.
def edit_data(df):
sum = 0
with open(df) as file:
next(file)
for line in file:
parts = line.split(',')
code = float(parts[3])
id = float(parts[1])
sec = float(parts[2])
return ?
Ценю любую помощь, поскольку я новичок в Python, эквивалентный 3-х месячному опыту. Спасибо!