pandas 日期数据处理大全,按照年、季度、月、周、日筛选数据

2021-06-11  本文已影响0人  米陽

import pandasas pd

import numpyas np

pd.set_option('display.width', 100000)

pd.set_option('display.max_columns', 10000)

pd.set_option('display.max_rows', 100000)

df = pd.read_csv(r'D:\bigData\手机终端销售统计.csv', header=0)

# 将订单日期转成日期格式

df['订单日期'] = pd.to_datetime(df['订单日期'])

# 将订单日期设置成索引

df = df.set_index('订单日期')

# 统计2020年的数据

print(df['2020'].head(10))

# 按年、月阶段统计

print(df['2019-12':'2020-01'])

# 统计具体某一天的数据,新手这里一定注意,如果统计具体一天的数据,一定加loc,我这这里踩坑了

print(df.loc['2020-01-31'])

# 这里统计具体某一天到某一天的数据

print(df['2019-12-06':'2019-12-06'])

df_period = df.to_period('M')

print(type(df_period))

print(type(df_period.index))

# 按照月份统计

print(df_period.head(10))

# 按季度统计

print(df.to_period("Q"))

# 按年统计

print(df.to_period('A'))

print(df_period.index.asfreq('A'))

print(df_period.index.asfreq('A-JAN'))

print(df_period.index.asfreq('Q'))

df_period.index.asfreq('Q-SEP')

print(df_period.index.asfreq('M'))

print(df_period.index.asfreq('B', how='start'))

print(df_period.index.asfreq('B', how='end'))

# 按周对数量进行汇总

print(df['数量'].resample('w').sum().head())

# 按月汇总,默认每个月的最后一天,如果想要按照每个月的第一天展示日期,df.resample('M'), “M”改成“MS”

print(df.resample('M').sum().head(10))

# 按照季度统计,默认每个季度的第一天

print(df.resample('QS').sum().head())

print(df.resample('AS').sum())

print(df.resample('AS').sum().to_period('A'))

print(df.resample('Q').sum().to_period('Q'))

print(df.resample('M').sum().to_period('M'))

上一篇下一篇

猜你喜欢

热点阅读