Agustin Gonzalez Ribas
Agustin Gonzalez Ribas

Reputation: 300

pandas dataframe rebuild based on cells

after a lot of testing I have ended with this df:

    Date           1     2    3  4   5   6   7   8   9   10
0   2019-01-02  59.92   NaN NaN NaN NaN NaN NaN NaN NaN NaN
0   2019-01-02  NaN 197.28  NaN NaN NaN NaN NaN NaN NaN NaN
0   2019-01-02  NaN NaN 96.59   NaN NaN NaN NaN NaN NaN NaN
0   2019-01-02  NaN NaN NaN 275.0   NaN NaN NaN NaN NaN NaN
0   2019-01-02  NaN NaN NaN NaN 209.94  NaN NaN NaN NaN NaN
0   2019-01-02  NaN NaN NaN NaN NaN 99.83   NaN NaN NaN NaN
0   2019-01-02  NaN NaN NaN NaN NaN NaN 257.89  NaN NaN NaN
0   2019-01-02  NaN NaN NaN NaN NaN NaN NaN 215.54  NaN NaN
0   2019-01-02  NaN NaN NaN NaN NaN NaN NaN NaN 187.06  NaN
0   2019-01-02  NaN NaN NaN NaN NaN NaN NaN NaN NaN 386.9

Would be nice any kind of trik to put all this values on the same row. Any idea? Thanks!!

Upvotes: 0

Views: 42

Answers (2)

Anurag Dabas
Anurag Dabas

Reputation: 24324

Try via groupby() and sum():

df=df.groupby('Date').sum()

output:

  Date     1      2     3     4      5     6      7      8      9     10
2019-01-02 59.92 197.28 96.59 275.0 209.94 99.83 257.89 215.54 187.06 386.9

Upvotes: 2

Henry Ecker
Henry Ecker

Reputation: 35676

An option with groupby first in case this would need to be performed for multiple different types where sum may not behave as expected:

df = df.groupby('Date', as_index=False).first()
      Date     1      2     3     4      5     6      7      8      9    10
2019-01-02 59.92 197.28 96.59 275.0 209.94 99.83 257.89 215.54 187.06 386.9

Upvotes: 2

Related Questions