Как объединить фрейм данных с меткой времени массива и построить график на условии массива? - PullRequest
1 голос
/ 10 января 2020

У меня есть временный ряд данных и массив, как показано ниже

>> DataFrame
            datetime   value
...
0 2019-09-17 23:55:00  210.38
1 2019-09-17 23:56:00  210.50
2 2019-09-17 23:57:00  210.51
3 2019-09-17 23:58:00  210.40
4 2019-09-17 23:59:00  210.41
...
>>timestamp array
[Timestamp('2019-09-17 00:05:00'),
 Timestamp('2019-09-17 00:16:00'),
 Timestamp('2019-09-17 01:21:00'),
 Timestamp('2019-09-17 01:26:00'),
 Timestamp('2019-09-17 01:31:00'),
 Timestamp('2019-09-17 01:56:00'),
 Timestamp('2019-09-17 02:06:00'),
 Timestamp('2019-09-17 02:11:00'),
 Timestamp('2019-09-17 13:36:00'),
 Timestamp('2019-09-17 13:41:00'),
 Timestamp('2019-09-17 13:46:00'),
 Timestamp('2019-09-17 14:00:00'),
 Timestamp('2019-09-17 14:26:00')]

Я хотел бы объединить эти два объекта и с любыми строками иметь значение datetime, которое совпадает со значением timestamp в массиве значение новых столбцов будет равно 1, остальные равны 0.

Затем я хочу построить вертикальную линию da sh на графике или просто выделенную точку значения для каждого времени в массиве .

Пожалуйста, помогите! Спасибо

1 Ответ

1 голос
/ 10 января 2020

Я думаю, вам нужно:

#if necessary
#df['datetime'] = pd.to_datetime(df['datetime'])

df['new'] = df['datetime'].isin(arr).astype(int)

Или:

df['new'] = np.where(df['datetime'].isin(arr), 1, 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...