У меня old.csv вот так:
Name,State,Brand,Model,Price
Adam,MO,Toyota,RV4,26500
Berry,KS,Toyota,Camry,18000
Berry,KS,Toyota,Camry,12000
Kavin,CA,Ford,F150,23000
Yuke,OR,Nissan,Murano,31000
, и мне нужен новый .csv вот так:
Name,State,Brand,Model,Price
Adam,MO,Toyota,RV4,26500
Berry,KS,Toyota,Camry,30000
Kavin,CA,Ford,F150,23000
Yuke,OR,Nissan,Murano,31000
Как вы можете видеть разницу между этими двумя:
Берри, KS, Toyota, Camry, 18000
Ягода, KS, Toyota, Camry, 12000
merge to
Ягода, KS, Toyota, Camry, 30000
Вот мой код:
import pandas as pd
df=pd.read_csv('old.csv')
df1=df.sort_values('Name').groupby('Name','State','Brand','Model')
.agg({'Name':'first','Price':'sum'})
print(df1[['Name','State','Brand','Model','Price']])
, и он не работает, и я получил эти ошибки:
File "------ \venv \ lib \ site-packages \ pandas \ core \ frame.py ", строка 4421, в sort_values stacklevel = stacklevel) Файл" ------- \ venv \ lib \ site-packages \ pandas \ core \ generic.py ", строка 1382, в _get_label_or_level_values поднять KeyError (key) KeyError: 'Name'
Я совершенно новый Python, и я нашел решения в stackoverflow:
Суммарные значения из дублированных строк
На сайте выше есть такой же вопрос, как у меня, но это SQL-код, а не Python
Любая помощь будет большой благодарностью ....