У меня есть следующая задача:
У меня есть кадр данных, который выглядит следующим образом после выбора нужного столбца из импорта:
user_id datetime
1 1473225887
1 1373225887
1 1673225887
2 1173225887
2 1573225887
Я хотел бы сделать двасвернуть: (1) преобразовать значения даты и времени в обычную запись даты, а не в unix_timestamp, используя функцию datetime.Мне пока не удалось это сделать.
(2) сгруппировать данные по user_id и сохранить только первое datetime (то есть самое раннее число) каждого user_id.
Код, который я написал до сих пор, приведен ниже.Обратите внимание, что я новичок в Python, я еще не управлял классами, поэтому я хотел бы начать без классов.
Я надеюсь, что вы можете помочь мне здесь!Большое спасибо заранее!
def run():
engagement_dataset = import_engagements()
engagement_dataset_first_event = first_engagement(engagement_dataset)
def import_engagements():
df_engagements = pd.read_csv('df_engagements.csv',
sep=';')
required_columns = ['engagement_unix_timestamp', 'user_id']
df_engagements = df_engagements[required_columns]
df_engagements.rename(columns={'engagement_unix_timestamp': 'datetime'}, inplace=True)
return df_engagements
def first_engagement(engagement_dataset):
engagement_dataset_grouped = engagement_dataset.groupby(['user_id'])['datetime'].idxmin().reset_index()
return engagement_dataset_grouped
run()