Создание нового фрейма данных путем передачи серии datetime через существующий фрейм данных - PullRequest
0 голосов
/ 12 января 2019

У меня есть pandas dataframe под названием «testset», который выглядит следующим образом (обратите внимание, что столбец даты является индексом и уже был преобразован в datetime):

Date                Adj Close
1950-01-03 00:00:00 16.66
1950-01-04 00:00:00 16.85
1950-01-05 00:00:00 16.93
1950-01-06 00:00:00 16.98
1950-01-09 00:00:00 17.08
1950-01-10 00:00:00 17.03
1950-01-11 00:00:00 17.09
1950-01-12 00:00:00 16.76
...

и у меня есть серия дат (опять же, преобразованная в дату-время), называемая «триггером», которая выглядит следующим образом:

Index   Trigger Date
65      1950-10-04 00:00:00
124     1951-01-02 00:00:00
165     1951-03-02 00:00:00
208     1951-05-03 00:00:00
943     1954-04-12 00:00:00
997     1954-06-29 00:00:00
1053    1954-09-17 00:00:00
1089    1954-11-09 00:00:00

Я хочу передать набор дат во втором наборе данных через первый, чтобы создать новый фрейм данных, чтобы ожидаемый результат выглядел примерно так:

Date                  Adj Close
1950-10-04 00:00:00   18.64
1951-01-02 00:00:00   19.23
1951-03-02 00:00:00   18.21
1951-05-03 00:00:00   19.21
1954-04-12 00:00:00   20.07
1954-06-29 00:00:00   17.23
1954-09-17 00:00:00   16.12
1954-11-09 00:00:00   20.44
...

Когда я пытаюсь пройти через это, как показано ниже:

df = np.where(triggerdates, testset['Adj Close'], np.nan)

Я получаю следующую ошибку:

ValueError: operands could not be broadcast together with shapes (91,) (17369,) () 

Как всегда, любая помощь приветствуется

1 Ответ

0 голосов
/ 12 января 2019

Я думаю, что вы ищете reindex

testset=testset.reindex(triggerdates)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...