Как объединить строки одной и той же отметки времени? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть два кадра данных pandas с метками времени и столбцами значений, например:

                  timestamp            value1
0    2015-01-01T15:41:10.500Z    9239.337890625
1    2015-01-01T15:41:50.543Z    9539.337890625
2    2015-01-01T15:42:30.600Z    8957.0458984375
3    2015-01-01T15:43:00.606Z    8237.0458984375

Я попытался объединить их, используя pandas.concat

df_all = pd.concat([df1, df2, df3, ...], ignore_index = True)
df_all.sort_values(by='timestamp', inplace = True)

Он делает то, что я хочу, норезультат содержит такие значения, как:

     value1      value2  timestamp
 133 9587.165039 NaN     2015-01-18T00:00:00.000Z 
 0   NaN         0.14    2015-01-18T00:00:00.000Z

, которые имеют одинаковую метку времени.Как объединить эти строки, чтобы они стали:

 value1      value2  timestamp
 9587.165039 0.14    2015-01-18T00:00:00.000Z 

Любое предложение или комментарий высоко ценится.

1 Ответ

0 голосов
/ 23 февраля 2019

concat не заполнит пробелы.Вам нужно сделать merge на ваших фреймах данных.Чтобы объединить несколько DF, я всегда делаю:

df_new = df1.merge(df2, on='timestamp', how='outer')
df_new = df_new.merge(d3, on='timestamp', how='outer')

И продолжаю ..

...