Удалить часть строки и сдвинуть кадр данных вверх в пандах - PullRequest
0 голосов
/ 24 мая 2018

У меня есть два фрейма данных, которые я пытаюсь объединить в один.

У них обоих одинаковые макеты, подобные этому:

Dataframe A 
Time   Reading 1   R2   R3
1:20       1       3    4
1:21       5       4    2
1:22       6       2    1
1:23       7       8    9

Dataframe B
Time    Sensor1   S2   S3
1:20       1       5    2
1:22       3       8    4
1:23       2       4    7
1:24       5       6    8

И объедините их так:

Dataframe C
Time   Reading 1   R2   R3   Time2   Sensor1   S2   S3
1:20       1       3    4    1:20       1       5    2
1:21       5       4    2    1:22       3       8    4
1:22       6       2    1    1:23       2       4    7
1:23       7       8    9    1:24       5       6    8

Однако вы можете увидеть несоответствие во времени между первым и вторым, так как 1:21 отсутствует.То, что я пытаюсь сделать, это удалить столбцы, связанные с чтением для этой строки (но оставить датчики), и сдвинуть оставшиеся столбцы вверх на один.

Примерно так:

Dataframe C
Time   Reading 1   R2   R3   Time2   Sensor1   S2   S3
1:20       1       3    4    1:20       1       5    2
1:22       6       2    1    1:22       3       8    4
1:23       7       8    9    1:23       2       4    7
                             1:24       5       6    8

Я уже включил их в Dataframe C. Я знаю, что я могу сдвинуть столбцы с помощью df.x.shift (-1), но что было бы хорошим способом решения проблемы с точки зрения сравнения каждой строки для временных столбцови удаление столбцов?Это утомительно, так как это большой набор данных.Любая помощь приветствуется

1 Ответ

0 голосов
/ 24 мая 2018

Это даст вам одно консолидированное представление -

>>> A.merge(B, on='Time', how='right')
   Time  Reading  1   R2   R3  Sensor1  S2  S3
0  1:20         1.0  3.0  4.0        1   5   2
1  1:22         6.0  2.0  1.0        3   8   4
2  1:23         7.0  8.0  9.0        2   4   7
3  1:24         NaN  NaN  NaN        5   6   8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...