pandas 對日期型別資料的處理

2021-09-26 08:19:02 字數 2159 閱讀 1284

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 分鐘...