Создайте DataFrame в Pandas, используя индекс из существующего TimeSer ie и столбец из другого TimeSerie. - PullRequest
1 голос
/ 26 января 2020

Я хочу создать DataFrame или TimeSer ie, используя индекс существующего TimeSer ie и значения из другого TimeSer ie с другими временными индексами. TimeSeries выглядят как;

 <class 'pandas.core.series.Series'>
DT
2018-01-02    172.3000
2018-01-03    174.5500
2018-01-04    173.4700
2018-01-05    175.3700
2018-01-08    175.6100
2018-01-09    175.0600
2018-01-10    174.3000
2018-01-11    175.4886
2018-01-12    177.3600
2018-01-16    179.3900
2018-01-17    179.2500
2018-01-18    180.1000
...

и

<class 'pandas.core.series.Series'>
DT
2018-01-02        NaN
2018-01-09    175.610
2018-01-16    177.360
2018-01-23    180.100
...

Я хочу использовать индекс из первого TS и заполнить его значениями соответствующего индекса из второго TS. Like;

<class 'pandas.core.series.Series'>
DT
2018-01-02   NaN
2018-01-03   NaN
2018-01-04   NaN
2018-01-05   NaN
2018-01-08   NaN
2018-01-09   175.610
2018-01-10   NaN
2018-01-11   NaN
2018-01-12   NaN
2018-01-16   177.360
2018-01-17   NaN
2018-01-18   NaN
...

Thx

Ответы [ 2 ]

2 голосов
/ 26 января 2020

IIU C, используйте Series.reindex:

new_s = s2.reindex(s1.index)

#2018-01-02       NaN
#2018-01-03       NaN
#2018-01-04       NaN
#2018-01-05       NaN
#2018-01-08       NaN
#2018-01-09    175.61
#2018-01-10       NaN
#2018-01-11       NaN
#2018-01-12       NaN
#2018-01-16    177.36
#2018-01-17       NaN
#2018-01-18       NaN
#Name: s2, dtype: float64
0 голосов
/ 26 января 2020

преобразовать структуру данных ряда в структуру данных фрейма данных, а затем использовать следующую строку: pd.merge (TS1, TS2, left_index = True, right_index = True, how = 'left'). Iloc [:, - 1]

...