我正在尝试重新构建不同变量的pandas中的时间序列(当前第一次使用NaN的列)。由于在这里查看代码打印并不容易,所以我附上了一张图片。
目标是将不同变量的时间序列对齐在同一行而不是目前的单独时间序列。
任何可以帮助完成此任务的人都可以帮忙吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
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