从python

时间:2016-08-07 21:54:59

标签: python python-2.7 datetime pandas time-series

我是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中做?

1 个答案:

答案 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