我是Python编程语言的新手。为了学习,我选取了包含orderid、product_name、no_items、amount、total_amount、sale_time的销售数据样本。我正在使用pandas加载数据。
import pandas as pd
sale_data = pd.read_csv("test_sale_data.csv")
sale_time字段有unix时间,我使用to_datetime函数转换为可读的日期时间格式。
sale_data['sale_time_new'] = to_datetime(sale_data['sale_time'],time='s')
# 1284101485 --> 2010-09-10 06:51:25
所以我试图添加时间戳相关字段到现有的sale_data数据框架,如年,季度,年季度,月,年月,周,年周,日期,天,datehour,小时。
1284101485 --> 2010, Q3, 2010-Q3, 09, 201009, 36, 2010-WW36, 2010-09-10, 10, 2010-09-10 06:00:00 , 06
使用.dt
访问器;所有这些组件都是可用的。对于您的用例:
sale_data['sale_time_new'] = to_datetime(sale_data['sale_time'],time='s')
# Year
sale_data['sale_time_new'].dt.year
# Quarter
sale_data['sale_time_new'].dt.quarter
# YearQuarter
'{y}-{q}'.format(y=sale_data['sale_time_new'].dt.year, q=sale_data['sale_time_new'].dt.year)
# Month
sale_data['sale_time_new'].dt.month
# YearMonth
sale_data['sale_time_new'].dt.year*100 + sale_data['sale_time_new'].dt.month
# Week
sale_data['sale_time_new'].dt.week
# YearWeek
'{y}-WW{w}'.format(y=sale_data['sale_time_new'].dt.year, w=sale_data['sale_time_new'].dt.week)
# date
sale_data['sale_time_new'].dt.date
# day
sale_data['sale_time_new'].dt.day
# datehour
'{y}-{m}-{d} {h}:00:00'.format(y=sale_data['sale_time_new'].dt.year, m=sale_data['sale_time_new'].dt.month, d=sale_data['sale_time_new'].dt.day, h=sale_data['sale_time_new'].dt.hour)
# hour
sale_data['sale_time_new'].dt.hour