先按时间顺序将数据进行画图,由于原时间格式不太对,所以先转化一下,这样会比较方便地提取时间信息。
import pandas as pd
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
csv_data = pd.read_csv("ads.csv")
#转化时间特征
csv_data['datatime']= pd.to_datetime(csv_data['Time'])
date_gb=csv_data.groupby('datatime').agg({'Ads':'sum'})
date_gb.plot(figsize=(12,6),grid=True)
'day'
分析。先构建day
属性。然后对day
聚合求和
,计算每天的总点击数
#构建day特征
csv_data['day'] = csv_data['datatime'].apply(lambda x: x.strftime('%Y%m%d'))
#print(csv_data)
day_gb=csv_data.groupby('day').agg({'Ads':'sum'})
day_gb.plot(figsize=(12,6),xticks = range(0,len(day_gb)),grid=True)
hour
分析先构建hour
特征,求每天某时刻的平均
点击次数
csv_data['hour'] = csv_data['datatime'].apply(lambda x: x.strftime('%H'))
hour_gb=csv_data.groupby('hour').agg({'Ads':'mean'})
hour_gb.plot(figsize=(12,6),xticks = range(0,len(hour_gb)),grid=True)
week
分析统计每周星期几的平均点击次数
csv_data['day_of_week'] = csv_data['datatime'].apply(lambda x: x.weekday_name)
cats = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
csv_data.groupby('day_of_week').agg({'Ads':'mean'}).reindex(cats).plot(figsize=(12,6))
ticks = list(range(0, 7, 1))
labels = "周一 周二 周三 周四 周五 周六 周日".split()
plt.xticks(ticks, labels)
plt.title('星期的点击量')
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 18 15:14:03 2020
@author: cong
"""
import pandas as pd
#from pandas import Series, DataFrame
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
csv_data = pd.read_csv("ads.csv")
#转化时间特征
csv_data['datatime']= pd.to_datetime(csv_data['Time'])
date_gb=csv_data.groupby('datatime').agg({'Ads':'sum'})
date_gb.plot(figsize=(12,6),grid=True)
#构建day特征
csv_data['day'] = csv_data['datatime'].apply(lambda x: x.strftime('%Y%m%d'))
#print(csv_data)
day_gb=csv_data.groupby('day').agg({'Ads':'sum'})
day_gb.plot(figsize=(12,6),xticks = range(0,len(day_gb)),grid=True)
csv_data['hour'] = csv_data['datatime'].apply(lambda x: x.strftime('%H'))
hour_gb=csv_data.groupby('hour').agg({'Ads':'mean'})
hour_gb.plot(figsize=(12,6),xticks = range(0,len(hour_gb)),grid=True)
csv_data['day_of_week'] = csv_data['datatime'].apply(lambda x: x.weekday_name)
cats = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
csv_data.groupby('day_of_week').agg({'Ads':'mean'}).reindex(cats).plot(figsize=(12,6))
ticks = list(range(0, 7, 1))
labels = "周一 周二 周三 周四 周五 周六 周日".split()
plt.xticks(ticks, labels)
plt.title('星期的点击量')