|
目录一、用法精讲261、pandas.Series.dt.year属性261-1、语法261-2、参数261-3、功能261-4、返回值261-5、说明261-6、用法261-6-1、数据准备261-6-2、代码示例261-6-3、结果输出262、pandas.Series.dt.month属性262-1、语法262-2、参数262-3、功能262-4、返回值262-5、说明262-6、用法262-6-1、数据准备262-6-2、代码示例262-6-3、结果输出263、pandas.Series.dt.day属性263-1、语法263-2、参数263-3、功能263-4、返回值263-5、说明263-6、用法263-6-1、数据准备263-6-2、代码示例263-6-3、结果输出264、pandas.Series.dt.hour属性264-1、语法264-2、参数264-3、功能264-4、返回值264-5、说明264-6、用法264-6-1、数据准备264-6-2、代码示例264-6-3、结果输出265、pandas.Series.dt.minute属性265-1、语法265-2、参数265-3、功能265-4、返回值265-5、说明265-6、用法265-6-1、数据准备265-6-2、代码示例265-6-3、结果输出二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页一、用法精讲261、pandas.Series.dt.year属性261-1、语法#261、pandas.Series.dt.year属性pandas.Series.dt.yearTheyearofthedatetime.261-2、参数 无261-3、功能 用于从包含日期时间数据的pandas.Series中提取年份信息的工具,该属性能够将日期时间数据中的年份部分提取出来,并以整数形式返回。261-4、返回值 返回的Series对象的每个元素都是整数,表示对应日期的年份。261-5、说明 使用场景:261-5-1、数据分析:当你需要对数据进行按年份分组、汇总或者统计时,提取年份信息非常有用。例如,分析销售数据按年份的趋势。261-5-2、时间序列分析:在处理时间序列数据时,可能需要从日期时间数据中提取年份来进行更深入的分析,例如查看不同年份的变化。261-5-3、报告生成:如果需要生成包含年份的报告或图表,可以通过提取年份来轻松地将数据按照年份进行组织和展示。261-6、用法261-6-1、数据准备无261-6-2、代码示例#261、pandas.Series.dt.year属性#261-1、按年份统计订单数量importpandasaspd#创建一个包含订单日期的Seriesorders=pd.Series(pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']))#提取年份years=orders.dt.year#计算每年的订单数量order_counts=years.value_counts().sort_index()print(order_counts,end='\n\n')#261-2、按年份分析销售额importpandasaspd#创建一个包含销售数据的DataFramedata=pd.DataFrame({'date':pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']),'sales':[100,200,150,300,250]})#提取年份data['year']=data['date'].dt.year#按年份汇总销售额yearly_sales=data.groupby('year')['sales'].sum()print(yearly_sales,end='\n\n')#261-3、时间序列数据的年度趋势分析importpandasaspd#创建一个包含时间序列数据的DataFramedata=pd.DataFrame({'date':pd.date_range(start='2024-01-01',periods=12,freq='ME'),'value':range(1,13)})#提取年份data['year']=data['date'].dt.year#计算每年的平均值annual_average=data.groupby('year')['value'].mean()print(annual_average,end='\n\n')#261-4、按年份生成报告importpandasaspdimportmatplotlib.pyplotasplt#创建一个包含订单日期的Seriesorders=pd.Series(pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']))#提取年份years=orders.dt.year#计算每年的订单数量order_counts=years.value_counts().sort_index()#生成柱状图order_counts.plot(kind='bar',color='skyblue')plt.xlabel('Year')plt.ylabel('NumberofOrders')plt.title('NumberofOrdersperYear')plt.xticks(rotation=45)plt.tight_layout()plt.show()261-6-3、结果输出#261、pandas.Series.dt.year属性#261-1、按年份统计订单数量#20221#20232#20242#Name:count,dtype:int64#261-2、按年份分析销售额#year#2022150#2023500#2024350#Name:sales,dtype:int64#261-3、时间序列数据的年度趋势分析#year#20246.5#Name:value,dtype:float64#261-4、按年份生成报告#见图1图1: 262、pandas.Series.dt.month属性262-1、语法#262、pandas.Series.dt.month属性pandas.Series.dt.monthThemonthasJanuary=1,December=12.262-2、参数 无262-3、功能 从datetime数据中提取出月份,以整数形式表示(1表示一月,12表示十二月)。262-4、返回值 返回一个整数序列,每个整数表示相应的月份。262-5、说明 无262-6、用法262-6-1、数据准备无262-6-2、代码示例#262、pandas.Series.dt.month属性#262-1、按月份统计订单数量importpandasaspd#创建一个包含订单日期的Seriesorders=pd.Series(pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']))#提取月份months=orders.dt.month#计算每月的订单数量order_counts=months.value_counts().sort_index()print(order_counts,end='\n\n')#262-2、按月份分析销售额importpandasaspd#创建一个包含销售数据的DataFramedata=pd.DataFrame({'date':pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']),'sales':[100,200,150,300,250]})#提取月份data['month']=data['date'].dt.month#按月份汇总销售额monthly_sales=data.groupby('month')['sales'].sum()print(monthly_sales,end='\n\n')#262-3、时间序列数据的月度趋势分析importpandasaspd#创建一个包含时间序列数据的DataFramedata=pd.DataFrame({'date':pd.date_range(start='2024-01-01',periods=12,freq='ME'),'value':range(1,13)})#提取月份data['month']=data['date'].dt.month#计算每月的平均值monthly_average=data.groupby('month')['value'].mean()print(monthly_average,end='\n\n')#262-4、按月份生成报告importpandasaspdimportmatplotlib.pyplotasplt#创建一个包含订单日期的Seriesorders=pd.Series(pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']))#提取月份months=orders.dt.month#计算每月的订单数量order_counts=months.value_counts().sort_index()#生成柱状图order_counts.plot(kind='bar',color='skyblue')plt.xlabel('Month')plt.ylabel('NumberofOrders')plt.title('NumberofOrdersperMonth')plt.xticks(ticks=range(12),labels=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],rotation=45)plt.tight_layout()plt.show()262-6-3、结果输出#262、pandas.Series.dt.month属性#262-1、按月份统计订单数量#11#31#61#81#121#Name:count,dtype:int64#262-2、按月份分析销售额#month#1100#3300#6200#8250#12150#Name:sales,dtype:int64#262-3、时间序列数据的月度趋势分析#month#11.0#22.0#33.0#44.0#55.0#66.0#77.0#88.0#99.0#1010.0#1111.0#1212.0#Name:value,dtype:float64#262-4、按月份生成报告#见图2图2: 263、pandas.Series.dt.day属性263-1、语法#263、pandas.Series.dt.day属性pandas.Series.dt.dayThedayofthedatetime.263-2、参数 无263-3、功能 从datetime数据中提取出天数,以整数形式表示(1表示一个月的第一天,31表示一个月的最后一天)。263-4、返回值 返回一个整数序列,每个整数表示相应日期的天数。263-5、说明 无263-6、用法263-6-1、数据准备无263-6-2、代码示例#263、pandas.Series.dt.day属性#263-1、按天数统计订单数量importpandasaspd#创建一个包含订单日期的Seriesorders=pd.Series(pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']))#提取天数days=orders.dt.day#计算每个天数的订单数量day_counts=days.value_counts().sort_index()print(day_counts,end='\n\n')#263-2、按天数分析销售额importpandasaspd#创建一个包含销售数据的DataFramedata=pd.DataFrame({'date':pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']),'sales':[100,200,150,300,250]})#提取天数data['day']=data['date'].dt.day#按天数汇总销售额daily_sales=data.groupby('day')['sales'].sum()print(daily_sales,end='\n\n')#263-3、时间序列数据的日趋势分析importpandasaspd#创建一个包含时间序列数据的DataFramedata=pd.DataFrame({'date':pd.date_range(start='2024-01-01',periods=31,freq='D'),'value':range(1,32)})#提取天数data['day']=data['date'].dt.day#计算每天的平均值daily_average=data.groupby('day')['value'].mean()print(daily_average,end='\n\n')#263-4、按天数生成报告importpandasaspdimportmatplotlib.pyplotasplt#创建一个包含订单日期的Seriesorders=pd.Series(pd.to_datetime(['2024-01-15','2023-06-30','2022-12-25','2023-03-15','2024-08-10']))#提取天数days=orders.dt.day#计算每个天数的订单数量day_counts=days.value_counts().sort_index()#生成柱状图day_counts.plot(kind='bar',color='skyblue')plt.xlabel('DayofMonth')plt.ylabel('NumberofOrders')plt.title('NumberofOrdersperDayofMonth')plt.xticks(ticks=range(1,32),rotation=45)plt.tight_layout()plt.show()263-6-3、结果输出#263、pandas.Series.dt.day属性#263-1、按天数统计订单数量#101#152#251#301#Name:count,dtype:int64#263-2、按天数分析销售额#day#10250#15400#25150#30200#Name:sales,dtype:int64#263-3、时间序列数据的日趋势分析#day#11.0#22.0#33.0#44.0#55.0#66.0#77.0#88.0#99.0#1010.0#1111.0#1212.0#1313.0#1414.0#1515.0#1616.0#1717.0#1818.0#1919.0#2020.0#2121.0#2222.0#2323.0#2424.0#2525.0#2626.0#2727.0#2828.0#2929.0#3030.0#3131.0#Name:value,dtype:float64#263-4、按天数生成报告#见图3图3: 264、pandas.Series.dt.hour属性264-1、语法#264、pandas.Series.dt.hour属性pandas.Series.dt.hourThehoursofthedatetime.264-2、参数 无264-3、功能 从datetime数据中提取出小时,以整数形式表示(0表示午夜12点,23表示晚上11点)。264-4、返回值 返回一个整数序列,每个整数表示相应时间的小时数。264-5、说明 无264-6、用法264-6-1、数据准备无264-6-2、代码示例#264、pandas.Series.dt.hour属性#264-1、按小时统计事件数量importpandasaspd#创建一个包含事件时间的Seriesevents=pd.Series(pd.to_datetime(['2024-01-1508:30','2023-06-3014:45','2022-12-2508:30','2023-03-1522:15','2024-08-1014:00']))#提取小时数hours=events.dt.hour#计算每个小时的事件数量hour_counts=hours.value_counts().sort_index()print(hour_counts,end='\n\n')#264-2、按小时分析销售额importpandasaspd#创建一个包含销售数据的DataFramedata=pd.DataFrame({'time':pd.to_datetime(['2024-01-1508:30','2023-06-3014:45','2022-12-2508:30','2023-03-1522:15','2024-08-1014:00']),'sales':[100,200,150,300,250]})#提取小时数data['hour']=data['time'].dt.hour#按小时汇总销售额hourly_sales=data.groupby('hour')['sales'].sum()print(hourly_sales,end='\n\n')#264-3、时间序列数据的小时趋势分析importpandasaspd#创建一个包含时间序列数据的DataFramedata=pd.DataFrame({'time':pd.date_range(start='2024-01-0100:00',periods=24,freq='h'),'value':range(24)})#提取小时数data['hour']=data['time'].dt.hour#计算每小时的平均值hourly_average=data.groupby('hour')['value'].mean()print(hourly_average,end='\n\n')#264-4、按小时生成报告importpandasaspdimportmatplotlib.pyplotasplt#创建一个包含事件时间的Seriesevents=pd.Series(pd.to_datetime(['2024-01-1508:30','2023-06-3014:45','2022-12-2508:30','2023-03-1522:15','2024-08-1014:00']))#提取小时数hours=events.dt.hour#计算每个小时的事件数量hour_counts=hours.value_counts().sort_index()#生成柱状图hour_counts.plot(kind='bar',color='skyblue')plt.xlabel('HourofDay')plt.ylabel('NumberofEvents')plt.title('NumberofEventsperHourofDay')plt.xticks(ticks=range(0,24),rotation=45)plt.tight_layout()plt.show()264-6-3、结果输出#264、pandas.Series.dt.hour属性#264-1、按小时统计事件数量#82#142#221#Name:count,dtype:int64#264-2、按小时分析销售额#hour#8250#14450#22300#Name:sales,dtype:int64#264-3、时间序列数据的小时趋势分析#hour#00.0#11.0#22.0#33.0#44.0#55.0#66.0#77.0#88.0#99.0#1010.0#1111.0#1212.0#1313.0#1414.0#1515.0#1616.0#1717.0#1818.0#1919.0#2020.0#2121.0#2222.0#2323.0#Name:value,dtype:float64#264-4、按小时生成报告#见图4图4: 265、pandas.Series.dt.minute属性265-1、语法#265、pandas.Series.dt.minute属性pandas.Series.dt.minuteTheminutesofthedatetime.265-2、参数 无265-3、功能 从datetime数据中提取出分钟,以整数形式表示(0表示整点,59表示接近下一个小时的最后一分钟)。265-4、返回值 返回一个整数序列,每个整数表示相应时间的分钟数。265-5、说明 无265-6、用法265-6-1、数据准备无265-6-2、代码示例#265、pandas.Series.dt.minute属性#265-1、按分钟统计事件数量importpandasaspd#创建一个包含事件时间的Seriesevents=pd.Series(pd.to_datetime(['2024-01-1508:30','2023-06-3014:45','2022-12-2508:15','2023-03-1522:05','2024-08-1014:30']))#提取分钟数minutes=events.dt.minute#计算每分钟的事件数量minute_counts=minutes.value_counts().sort_index()print(minute_counts,end='\n\n')#265-2、按分钟分析销售额importpandasaspd#创建一个包含销售数据的DataFramedata=pd.DataFrame({'time':pd.to_datetime(['2024-01-1508:30','2023-06-3014:45','2022-12-2508:15','2023-03-1522:05','2024-08-1014:30']),'sales':[100,200,150,300,250]})#提取分钟数data['minute']=data['time'].dt.minute#按分钟汇总销售额minute_sales=data.groupby('minute')['sales'].sum()print(minute_sales,end='\n\n')#265-3、时间序列数据的分钟趋势分析importpandasaspd#创建一个包含时间序列数据的DataFramedata=pd.DataFrame({'time':pd.date_range(start='2024-01-0100:00',periods=60,freq='min'),'value':range(60)})#提取分钟数data['minute']=data['time'].dt.minute#计算每分钟的平均值minute_average=data.groupby('minute')['value'].mean()print(minute_average,end='\n\n')#265-4、按分钟生成报告importpandasaspdimportmatplotlib.pyplotasplt#创建一个包含事件时间的Seriesevents=pd.Series(pd.to_datetime(['2024-01-1508:30','2023-06-3014:45','2022-12-2508:15','2023-03-1522:05','2024-08-1014:30']))#提取分钟数minutes=events.dt.minute#计算每分钟的事件数量minute_counts=minutes.value_counts().sort_index()#生成柱状图minute_counts.plot(kind='bar',color='lightcoral')plt.xlabel('MinuteofHour')plt.ylabel('NumberofEvents')plt.title('NumberofEventsperMinuteofHour')plt.xticks(ticks=range(0,60,5),rotation=45)plt.tight_layout()plt.show()265-6-3、结果输出#265、pandas.Series.dt.minute属性#265-1、按分钟统计事件数量#51#151#302#451#Name:count,dtype:int64#265-2、按分钟分析销售额#minute#5300#15150#30350#45200#Name:sales,dtype:int64#265-3、时间序列数据的分钟趋势分析#minute#00.0#11.0#22.0#33.0#44.0#55.0#66.0#77.0#88.0#99.0#1010.0#1111.0#1212.0#1313.0#1414.0#1515.0#1616.0#1717.0#1818.0#1919.0#2020.0#2121.0#2222.0#2323.0#2424.0#2525.0#2626.0#2727.0#2828.0#2929.0#3030.0#3131.0#3232.0#3333.0#3434.0#3535.0#3636.0#3737.0#3838.0#3939.0#4040.0#4141.0#4242.0#4343.0#4444.0#4545.0#4646.0#4747.0#4848.0#4949.0#5050.0#5151.0#5252.0#5353.0#5454.0#5555.0#5656.0#5757.0#5858.0#5959.0#Name:value,dtype:float64#265-4、按分钟生成报告#见图5图5: 二、推荐阅读1、Python筑基之旅2、Python函数之旅3、Python算法之旅4、Python魔法之旅5、博客个人主页
|
|