Je voudrais réduire les éléments suivants :

        Date  Category   input1     input2
   2019-11-08    1         NaN  182.420781
   2019-12-09    1         NaN  174.251870
   2020-01-08    1         NaN  186.296325
   2019-11-08    1  177.670203         NaN
   2019-12-09    1  177.001475         NaN
   2020-01-08    1  179.940017         NaN
   2019-11-08    2         NaN   84.369389
   2019-12-09    2         NaN   87.882385
   2020-01-08    2         NaN   86.309750
   2019-11-08    2   83.995045         NaN
   2019-12-09    2   86.166011         NaN
   2020-01-08    2   89.449188         NaN
   2019-11-08    3         NaN   83.878360
   2019-12-09    3         NaN   90.910188
   2020-01-08    3         NaN   93.120330
   2019-11-08    3   84.010900         NaN
   2019-12-09    3   86.916081         NaN
   2020-01-08    3   91.620387         NaN

Dans:

          Date Category    input1      input2
   2019-11-08    1         177.670203  182.420781
   2019-12-09    1         177.001475  174.251870
   2020-01-08    1         179.940017  186.296325
   2019-11-08    2         83.995045   84.369389
   2019-12-09    2         86.166011   87.882385
   2020-01-08    2         89.449188   86.309750
   2019-11-08    3         84.010900   83.878360
   2019-12-09    3         86.916081   90.910188
   2020-01-08    3         91.620387   93.120330

J'ai essayé de chercher agg, join, etc. mais je n'ai tout simplement pas assez de connaissances pour faire ce dont j'ai besoin. Essentiellement, les entrées sont répétées par Date et Category, je voudrais donc simplement les réduire toutes dans les mêmes lignes respectives.

0
LeggoMaEggo 10 févr. 2020 à 04:36

1 réponse

Meilleure réponse

Essayons groupby avec first : il renverra d'abord une valeur non nulle

s = df.groupby(['Category','Date'],as_index=False).first()
s
   Category        Date      input1      input2
0         1  2019-11-08  177.670203  182.420781
1         1  2019-12-09  177.001475  174.251870
2         1  2020-01-08  179.940017  186.296325
3         2  2019-11-08   83.995045   84.369389
4         2  2019-12-09   86.166011   87.882385
5         2  2020-01-08   89.449188   86.309750
6         3  2019-11-08   84.010900   83.878360
7         3  2019-12-09   86.916081   90.910188
8         3  2020-01-08   91.620387   93.120330
2
BENY 10 févr. 2020 à 02:04