Панды объединяют временные ряды с несколькими уровнями - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь реструктурировать временные ряды в пандах различных переменных (столбец, в котором в настоящее время есть NaN для первых временных шагов).Поскольку просмотреть распечатанный код здесь непросто, я вместо этого приложил изображение.

Цель состоит в том, чтобы выровнять временные ряды различных переменных в одной строке вместо отдельных временных рядов в данный момент.

Кто-нибудь, кто может помочь с этим?

print out of my data frame

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Я думаю, что нужно unstack, например:

df = s.unstack(0)

, а если столбец:

df = df['col'].unstack(0)
0 голосов
/ 09 июня 2018

Простое слияние в столбце date должно быть тем, что вы ищете.Выполните левое слияние с более длинным (возможно, nan -значным) временным рядом с левой стороны:

import pandas as pd
import numpy as np
from datetime import datetime

ts1 = pd.DataFrame({'date': pd.date_range(start=datetime.now().date(), periods=100),
                    'var1': np.repeat(np.nan, 50).tolist() + np.linspace(0, 100, 50).tolist()})
ts2 = pd.DataFrame({'date':pd.date_range(start=datetime.now().date(), periods=50),
                    'var2': np.linspace(0, 100, 50).tolist()})
merged = ts1.merge(ts2, on='date', how='left')

Выход

         date        var1       var2
0  2018-06-09         NaN   0.000000
1  2018-06-10         NaN   2.040816
2  2018-06-11         NaN   4.081633
3  2018-06-12         NaN   6.122449
4  2018-06-13         NaN   8.163265
5  2018-06-14         NaN  10.204082
...
96 2018-09-13   93.877551        NaN
97 2018-09-14   95.918367        NaN
98 2018-09-15   97.959184        NaN
99 2018-09-16  100.000000        NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...