Size: a a a

Python для анализа данных

2019 July 21

R

Rinat in Python для анализа данных
в колонке installdate условная дата начала колонки paymentdate.
т.е. далее идет 2017-01-02 и для нее также поехали даты где пропущены какие-то дни
источник

R

Rinat in Python для анализа данных
источник

R

Rinat in Python для анализа данных
как-то так
источник

ФК

Фархад Керимли... in Python для анализа данных
у панды есть метод .shift()
источник

ФК

Фархад Керимли... in Python для анализа данных
он берет значение предыдущей строки
источник

ФК

Фархад Керимли... in Python для анализа данных
по идее, панда не знает, какие даты надо добавлять в "пропущенные" строки. У меня была похожая задача. Я просто сделал отдельно фрейм с датами и мержил его с основным фреймом
источник

ФК

Фархад Керимли... in Python для анализа данных
today = dt.datetime.today()
date_from = dt.date.today() - dt.timedelta(40)
date_to = dt.date.today() - dt.timedelta(1)
date_range = pd.date_range(start=date_from, end=date_to).date
date_range = pd.Series(data=date_range,name='FullDate').to_frame()


как-то так
источник

ФК

Фархад Керимли... in Python для анализа данных
Соотв, при pd.merge (how='outer', left_on='payment_date', right_on='FullDate') у тебя появятся те самые искомые пустые строки
источник

ФК

Фархад Керимли... in Python для анализа данных
дальше уже перебором идешь по ним, если значение в столбце paymentdate пустое, берешь значение из FullDate, а Installdate берешь методом .shift()
источник

ФК

Фархад Керимли... in Python для анализа данных
это если на коленке)
источник

ФК

Фархад Керимли... in Python для анализа данных
единстенное тут - надо определиться с диапазоном искомых дат перед мержем, у меня это 40 дней до сегодняшней даты
источник

R

Rinat in Python для анализа данных
класс) спасибо)
источник

R

Rinat in Python для анализа данных
Фархад Керимли
это если на коленке)
а по красоте как должно быть? можешь рассказать в общих чертах?
источник

ФК

Фархад Керимли... in Python для анализа данных
нет, я не программист 🙂 Я все делаю на коленке)))
источник

ФК

Фархад Керимли... in Python для анализа данных
+ наверняка у тебя там подводные камни вылезут, о которых я не знаю. Например, точно появится проблема, что при мерже необходимые "пропущенные даты" появятся только единожды. Что с этим делать, я пока не придумал. Наверное, можно мерж выполнять  только в рамках партишна с конкретной installdate и циклом пробежаться по всем датам installdate
источник

ФК

Фархад Керимли... in Python для анализа данных
тогда будет пучком 🙂
источник

R

Rinat in Python для анализа данных
Фархад Керимли
+ наверняка у тебя там подводные камни вылезут, о которых я не знаю. Например, точно появится проблема, что при мерже необходимые "пропущенные даты" появятся только единожды. Что с этим делать, я пока не придумал. Наверное, можно мерж выполнять  только в рамках партишна с конкретной installdate и циклом пробежаться по всем датам installdate
ну вот так примерно и хочу сделать
источник

ФК

Фархад Керимли... in Python для анализа данных
о, есть интересный способ - добавить столбец с единичками и перевести в pivot, где строки - installdate, а столбцы - paymentdate.
Тогда можно будет недостающие даты добавить уже в нем, а затем опять схлопнуть в обычный датафрейм. но не уверен, что это будет удобно и правильно)
источник

ФК

Фархад Керимли... in Python для анализа данных
если делать первым способом, есть метод unique, перечисляющий уникальные значения столбца. Циклом можно по нему пробежаться. Это сэкономит кучу времени
источник

UL

Uladzislau Lukashou in Python для анализа данных
Oleg Agapov
Получилось. Но там какой-то баг с hello-world примером, не хватает конфигов. Прочитай весь юзер-гайд, станет понятно как его запускать
Опять я )
На виндоус так и не завелся, а на сервере с убунту запустился и выдал Serving on http://127.0.0.1:3000

не подскажете, как просмотреть эту веб-страницу?
источник