#python #pandas #datetimeindex
#python #pandas #datetimeindex
Вопрос:
У меня есть серия дат PANDAS (в виде строк) и частот в виде целых чисел:
date
2020-02-02 24
2020-02-03 43
2020-02-07 465
2020-02-08 123
2020-02-09 234
Но они мне нужны как выходные данные событий в приведенном ниже коде:
all_days = pd.date_range('1/01/2020', periods=300, freq='D')
days = np.random.choice(all_days, 200)
events = pd.Series(np.random.randn(len(days)), index=days)
Я имею в виду сохранить свои данные, но изменить тип, чтобы я мог использовать их в другом фрагменте кода. Заранее благодарю.
Комментарии:
1. Будет ли добавление второго столбца и преобразование их туда работать?
2. Моя проблема в том, что я не знаю, как работать с серией PANDAS, нет имени столбца, ничего.
3. Просто добавьте его в свой фрейм данных перед созданием ряда
4. Если вам просто нужна случайная строка, вы можете случайным образом выбрать из индекса, а затем отобразить ее обратно в свой DF.
5. Вы можете использовать pandas.to_datetime для преобразования индекса в виде str в date. Вы можете получить доступ к индексу, создающему dataframe.index pandas.pydata.org/pandas-docs/stable/reference/api /…
Ответ №1:
Спасибо вам всем за помощь. Мне понравился приведенный ниже код:
import numpy as np; np.random.seed(sum(map(ord, 'calmap')))
import pandas as pd
import calmap
all_days = pd.date_range('1/01/2020', periods=300, freq='D')
days = np.random.choice(all_days, 200)
date_index = pd.to_datetime(dates_count.index)
maximum = max(dates_count.values)
minimum = min (dates_count.values)
events = pd.Series(((dates_count.values-minimum)*2/(maximum - minimum))-1, index=date_index)