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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas 日期数据处理大全,按照年、季度、月、周、日筛选数据相关的知识,希望对你有一定的参考价值。

参考技术A 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'))

以上是关于pandas 日期数据处理大全,按照年、季度、月、周、日筛选数据的主要内容,如果未能解决你的问题,请参考以下文章

查找 2 个日期之间的所有季度

按年季度月分组&&计算日期和时间的函数

SQL Server如何查找季度、半年和当年的最后一天?

MySQL按天/周/月/季度/半年/年统计数据

获取一个季度的第一天和最后一天以及 2 个季度的日期

pandas通过DatetimeProperties对象获取日期对象是否是所在季度的第一天(is quarter start)筛选dataframe数据中日期对象是所在季度第一天的数据行