pandas 的日期/時間型別有如下幾種:
concept
scalar class
array class
pandas data type
primary creation method
date times
timestamp
datetimeindex
datetime64[ns] or datetime64[ns, tz]
to_datetime or date_range
time deltas
timedelta
timedeltaindex
timedelta64[ns]
to_timedelta or timedelta_range
time spans
period
periodindex
period[freq]
period or period_range
date offsets
dateoffset
none
none
dateoffset
首先獲取資料,並且將 dataframe 的date
列轉換成datetime
型別:
也可以在read_csv()
方法中,通過parse_dates
引數直接將某些列轉換成datetime64
型別:
df1 = pd.read_csv('sample-salesv3.csv', parse_dates=['date'])
我們據此銷售資料,按月份、按季度統計sku
的銷售金額。
pandas 的pandas.series.dt
可以獲得日期/時間型別的相關資訊。比如
df1['date'].dt.year
df1['date'].dt.month
df1['date'].dt.quarter
但這些型別返回值為int
型別,作為統計的字段,我們更希望是2014-04
這樣的格式,有兩個方法:
# 方法 1
第二種方法:
第二種方法使用起來更加簡單,引數m
表示月份,q
表示季度,a
表示年度,d
表示按天,這幾個引數比較常用。
新增了一列之後,做出資料透視表:
import numpy as np
pivot = pd.pivot_table(df1, index=['sku'], columns=['period'], values=['ext price'], aggfunc=np.sum)
pivot.head()
再做乙個按季度統計的資料透視表:
df1['quarter'] = df1['date'].dt.to_period('q')
quarter_pivot = pd.pivot_table(df1, index=['sku'], columns=['quarter'], values=['ext price'], aggfunc=np.sum)
mysql對日期的操作 MySql對日期的操作
1 計算倆個日期之間所差的天數 2 計算日期是這週的星期幾 select dayofweek 2018 09 18 1.因為外國一般都是把星期天認為是一周的開始,所以用這種方法一般都得減去一天才是這週的星期幾 2.這種方法是直接獲取當天是週幾 s,s 兩位數字形式的秒 00,01,59 i 兩位數字...
對日期的計算
今天 datetime.now.date.toshortdatestring 昨天,就是今天的日期減一 datetime.now.adddays 1 toshortdatestring 明天,同理,加一 datetime.now.adddays 1 toshortdatestring 本週 要知道本...
對日期型別進行格式化
h 24 小時制的小時,被格式化為必要時帶前導零的兩位數,即 00 23。i 12 小時制的小時,被格式化為必要時帶前導零的兩位數,即 01 12。k 24 小時制的小時,即 0 23。l 12 小時制的小時,即 1 12。m 小時中的分鐘,被格式化為必要時帶前導零的兩位數,即 00 59。s 分鐘...