python基础(27)

105 阅读2分钟

「这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战」。

今天我们来学习用python处理excel的方法。首先,按日期筛选数据,我们先把excel数据导入

import pandas as pd
data = r'C:\Users\86176\Desktop\SalesData.xlsx'
df = pd.DataFrame(pd.read_excel(data))
print(df.head())

Data是其日期列,我们将其设置为索引

image.png

df1 = df1.set_index('Data')
print(df1['2017'])

这样,我们就可以得到2017年的销售数据了!

image.png

而如果想要2017-2018年的数据,只需要在2017后面加上2018即可,如下:

print(df1['2017':'2018'])

image.png

如果想获取某月的数据,只需要在填写年份的时候,加上月份即可,如df1['2017-11']

image.png

同样的如果想获得具体日期的数据,把日也填上去即可,如df1['2017-3-2':'2017-3-2']

image.png

要注意,这里需要把日期作为索引才可以哦,否则会提示错误。

如果你想按年、月、日来显示数据,可以使用to_period()方法,如

df2 = df1.to_period('M')
print(df2)

这里显示的是月显示数据,年度的话将M改为A即可,季度是Q image.png

我们看上面的数据都是没有累计求和的,如果我们想看每年度的数据,就要用到sum函数了,例如:

df1.resample('AS').sum()

这是按年度统计数据的效果,AS是每年第一天为开始日期。A则是每年最后一天 image.png

两个方法还能结合使用,例如下面这代码,大家想想会出现什么样的结果:

df1.resample('AS').sum().to_period('A')

这样统计跟上面统计的区别,一个是有具体的日期显示出来了,另外一个则是只有年度信息。

image.png