Python, обработка панд df - PullRequest
       1

Python, обработка панд df

0 голосов
/ 21 октября 2018

В настоящее время я использую Python и хочу сделать следующее:

Я получил фрейм данных pandas:

Time                  A       B       ...   Z
2018-10-17 16:49:56  NaN     NaN      ...  16.28
2018-10-17 22:40:36  NaN     'String' ...  NaN
2018-10-20 01:37:32  NaN     NaN      ...  25.00
2018-10-20 11:30:39  15.0    NaN      ...  NaN
2018-10-20 12:07:04  NaN     NaN      ...  NaN

, и я хотел бы преобразовать его в нечто вроде этого:

Time                  A       B       ...   Z
2018-10-17 16:49:56  NaN     NaN      ...  16.28
2018-10-17 22:40:36  NaN     'String' ...  16.28
2018-10-20 01:37:32  NaN     'String' ...  25.00
2018-10-20 11:30:39  15.0    'String' ...  25.00
2018-10-20 12:07:04  15.0    'String' ...  25.00

Если я всегда переношу значение в следующую строку, за исключением того, что в строке есть новый элемент.

Если я смогу это сделать, следующим шагом будет замена строки наплавающее значение, которое я могу сделать с df = df.replace('string', value) и преобразовать время в число, которое содержит количество секунд t.hour * 3600 + t.minute * 60 + t.second, будет моими первыми вариантами с модулем datetime.В настоящее время я не уверен, что это лучший путь, потому что я знаю, что есть pandas.to_datetime.

Time                  A       B       ...   Z
2018-10-17 16:49:56  NaN     NaN      ...  16.28+0
2018-10-17 22:40:36  NaN     value+0  ...  16.28+1
2018-10-20 01:37:32  NaN     value+1  ...  25.00+0
2018-10-20 11:30:39  15.0    value+2  ...  25.00+1
2018-10-20 12:07:04  15.0    value+3  ...  25.00+2

Число столбцов и строк является переменным.

Моя идея могла быбыть, построить новый фрейм данных и извлекать и сравнивать данные со старым фреймом данных построчно, но я не знаю точно, как это сделать, и, возможно, есть более элегантный способ.

Вы можете мне помочь?

1 Ответ

0 голосов
/ 21 октября 2018

Вы можете использовать ffill документы

df = df.ffill()

          Time           A        B           Z
0   2018-10-17 16:49:56  NaN     NaN        16.28
1   2018-10-17 22:40:36  NaN    'String'    16.28
2   2018-10-20 01:37:32  NaN    'String'    25.00
3   2018-10-20 11:30:39  15.0   'String'    25.00
4   2018-10-20 12:07:04  15.0   'String'    25.00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...