Рассчитайте разницу в датах между строками и группами по категориям Python

Вот еще одна версия, которая работает на Linux и macOS без использования eval и без необходимости удалять файлы резервных копий. Он использует массивы Bash для хранения параметров sed, которые чище, чем использование eval:

# Default case for Linux sed, just use "-i"
sedi=(-i)
case "$(uname)" in
  # For macOS, use two parameters
  Darwin*) sedi=(-i "")
esac

# Expand the parameters in the actual call to "sed"
sed "${sedi[@]}" -e 's/foo/bar/' target.file

Это не создает файл резервной копии, ни файл с добавленными кавычками.

0
задан Stig 5 March 2019 в 15:19
поделиться

1 ответ

Сделайте даты datetime и sort, чтобы вы вычислили правильную разницу. Затем groupby каждый клиент получит необходимые расчеты:

import pandas as pd

df['Date'] = pd.to_datetime(df.Date, format='%d/%m/%Y')
df = df.sort_values('Date')

def AVG_diff(x):
    # Integer number of Days
    return x.diff().mean().total_seconds()/86400

df.groupby('Cust').Date.agg(['size', AVG_diff])

#  Cust  size  AVG_diff
#0    A     3       2.0
#1    B     3       0.5
0
ответ дан ALollz 5 March 2019 в 15:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: