我是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数据框,例如年,季度,年度季,月,年月,周,年,周日,日,时,小时。
1284101485 --> 2010, Q3, 2010-Q3, 09, 201009, 36, 2010-WW36, 2010-09-10, 10, 2010-09-10 06:00:00 , 06
我怎么能在python中做?
答案 0 :(得分:0)
在熊猫中使用.dt
accessor;所有these components都可用。对于您的用例:
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