Скопируйте значение одной строки и примените его как столбец, используя Pandas - PullRequest
1 голос
/ 22 октября 2019

My dataset выглядит следующим образом:

# df1 - minute based dataset

date                  Open
2018-01-01 00:00:00   1.0536 
2018-01-01 00:01:00   1.0527 
2018-01-01 00:02:00   1.0558 
2018-01-01 00:03:00   1.0534 
2018-01-01 00:04:00   1.0524 
...

Я хочу получить значение 05:00:00 daily, создать новый столбец с именем OpenVal_5AM и поставить соответствующийзначение в этом столбце. Новый df будет выглядеть следующим образом:

# df2 - minute based dataset with 05:00:00 Open value

date                  Open     OpenVal_5AM
2018-01-01 00:00:00   1.0536   1.0133 
2018-01-01 00:01:00   1.0527   1.0133 
2018-01-01 00:02:00   1.0558   1.0133
2018-01-01 00:03:00   1.0534   1.0133
2018-01-01 00:04:00   1.0524   1.0133
...

Поскольку это данные на основе minute, у нас будет 1440 одна и та же точка данных в новом столбце OpenVal_5AM для каждого дня. Это потому, что мы просто берем значение в определенный момент времени и создаем новый столбец.

Что я сделал?

Я использовал этот шаг:

df['OpenVal_5AM'] = df.groupby(df.date.dt.date,sort=False).Open.dt.hour.between(5, 5)

Это самое близкое, что я мог прийти, но это не работает.

1 Ответ

0 голосов
/ 23 октября 2019

Вот мое предложение:

df['OpenVal_5AM'] = df.apply(lambda r: df.Open.loc[r.name.replace(minute=5)], axis=1)

Отказ от ответственности: я не тестировал его с огромным набором данных;так что я не знаю, как это будет работать в этой ситуации.

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