python可视化作业一

折线图

任务说明

对于源数据,可视化2015-10-20的销售总金额,横坐标为小时,纵坐标为每小时的销售总金额

思路

总体分为两部分,首先是数据处理,然后是作图。数据处理包括数据读取,创建目标变量的两个矩阵,合并矩阵,提取小时数,分组求和。作图便是对画布做一些处理。

代码

数据处理部分
data = pd.read_csv('data.csv')

the_day = data[data.trx_date_c1=='2015-10-20']
the_day_c1 = the_day[['exp_c1','trx_datime_c1']]
the_day_c1.rename(columns={'exp_c1':'Sell amouts','trx_datime_c1':'Datetime'},inplace=True)
the_day_c2 = the_day[['exp_c2','trx_datime_c2']]
the_day_c2.rename(columns={'exp_c2':'Sell amouts','trx_datime_c2':'Datetime'},inplace=True)

the_day_C = pd.concat([the_day_c1,the_day_c2],axis=0)
the_day_C = the_day_C.reset_index(drop=True)

the_day_C['hour'] = the_day_C['Datetime'].apply(lambda x: x[11:13])
line = pd.DataFrame(the_day_C.groupby(['hour']).sum()).loc['00':,:]

首先用.read_csv读取csv文件,因为我们的目标是2015-10-20这天各小时的销售金额,紧接着就把变量trx_date_c1定位到这一天,然后创建两个二维数组the_day_c1与c2,把我们需要的变量trx_datetime_c1与c2以及对应的金额exp_c1与c2放进去,形成两个矩阵,同时为了直观方便,对其做了一个rename处理。对于返回的数据列表用.concat()函数进行合并,因为是对行进行合并,所以axis=0(列即为1),做完合并处理后,为保证数据的连续性,避免错乱,这里用到.reset_index(drop=True)。最后对Datetime做切片处理,提取我们的小时数hour,然后用.DataFrame()函数的分组求和,groupby()对小时数分组,sum()对金额求和。

作图部分
plt.figure(figsize=(10, 8))
plt.plot(line.index, line['Sell amouts'])
plt.xlabel('Hour', size=13)
plt.ylabel('Sell Amouts', size=13)
plt.show()

这里对画布尺寸figsize=(宽,高),横纵坐标,以及横纵坐标的标题和尺寸做处理。plot(x,y)这里x为向量,y为矩阵,确保到y的行数与向量一样作为横坐标,那么列数对应的就是纵坐标。

效果图

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y?Ire: TO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值