Problem:
Dane pochodzące z wielu plików, zostały zaimportowane do Pandas Data Frame w następującej postaci:
Chcielibyśmy uniknąć wielokrotnie powtarzanej daty, wartości numeryczne znajdujące się w col1, col2 i col3 powinny się nasumować, dając taki efekt:
Rozwiązanie:
Wydaje się, że funkcjonalnością stworzoną do takiego celu jest grupowanie. Wystarczy na rzecz obiektu data frame wywołać metodę groupby wskazując, że grupowanie ma się odbyć ze względu na datę, a dla kolumn numerycznych chcemy zobaczyć sumę. Oto propozycja rozwiązania:
import pandas as pd
data = ({
'date' :['2000-01','2000-02','2000-01','2000-02','2000-01','2000-02'],
'col1' :[22000,25000,0,0,0,0],
'col2' :[0,0,23000,24000,0,0],
'col3' :[0,0,0,0,26000,25000]
})
df = pd.DataFrame(data, columns=['date','col1','col2','col3'])
print(df)
df2 = df.groupby('date').sum()
print(df2)































