Рассчитать продолжительность в одном и том же столбце между двумя строками, чтобы они совпадали друг с другом в других двух столбцах, используя python? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть dataframe, как показано ниже (например, показывать только 4 строки, но dataframe имеет более тысячи строк):

id  location    plateno serialno    type    from/arrive

755 A   ade2384 TA144   11014   2018-01-02 10:13:00

762 A   ax395   TB543   11014   2018-01-02 10:43:00

920 C   ax395   TB543   11000   2018-01-03 09:06:00

976 B   ade2384 TA144   11000   2018-01-03 11:39:00

Я хотел бы получить длительность (с / прибытие) между идентификатором 755 (местоположение A) и 976 (местоположение C) (которое должно быть одинаковым и последовательным) и т. Д., А затем создать новые столбцы продолжительность по платено.

Проблема, с которой я столкнулся, заключается в том, что я не уверен, как выполнять вычисления с использованием python, когда есть потребность в каком-то требовании, а затем выполнить вычисления между двумя строками.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 25 апреля 2018

Похоже, у вас есть один пункт назначения и одна отправная точка для каждого из ваших plateno, serialno.Вы можете использовать min и max на plateno, serialno, а затем взять разницу.

df['from/arrive'] = pd.to_datetime(df['from/arrive'])
df = df.groupby(['plateno', 'serialno']).agg({'from/arrive' :['min', 'max']})
df.columns = df.columns.droplevel()
df = df.reset_index()
df['diff'] = df['max'] - df['min']

В качестве альтернативы, вы также можете использовать type в своих данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...