Python数据分析:数据可视化实战教程
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
以下文章来源于碧茂大数据, 作者碧茂大数据
文章插图
明确三个步骤:
- 确定问题 , 选择图形
- 转换数据 , 应用函数
- 参数设置 , 一目了然
%matplotlib inlineimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt #导入pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')#忽略警告
加载数据数据采用kaggle中的共享单车项目 , 比赛提供了跨越两年的每小时共享单车租赁数据 , 包含天气信息和日期信息 。
字段说明
- datetime(日期) - hourly date + timestamp
- season(季节) - 1 = spring, 2 = summer, 3 = fall, 4 = winter
- holiday(是否假日) - whether the day is considered a holiday
- workingday(是否工作日) - whether the day is neither a weekend nor holiday
- weather(天气等级)
- Clear, Few clouds, Partly cloudy 清澈 , 少云 , 多云 。
- Mist + Cloudy, Mist + Broken clouds, Mist + Few clouds, Mist 雾+阴天 , 雾+碎云、雾+少云、雾
- Light Snow, Light Rain + Thunderstorm + Scattered clouds, Light Rain + Scattered clouds 小雪、小雨+雷暴+多云 , 小雨+云
- Heavy Rain + Ice Pallets + Thunderstorm + Mist, Snow + Fog 暴雨+冰雹+雷暴+雾 , 雪+雾
- temp(温度) - temperature in Celsius
- atemp(体感温度) - "feels like" temperature in Celsius
- humidity(相对湿度) - relative humidity
- windspeed(风速) - wind speed
- casual(临时租赁数量) - number of non-registered user rentals initiated
- registered(会员租赁数量) - number of registered user rentals initiated
- count(总租赁数量) - number of total rentals
- date(日期) - 由datetime拆分得到
- hour(小时)-由datetime拆分得到
- year(年份)-由datetime拆分得到
- month(月份)-由datetime拆分得到
- weeekday(周几)-由datetime拆分得到
- windspeed_rfr(经过随机森林树填充0值得到的风速)
文章插图
#读取数据#Bikedata = http://kandian.youth.cn/index/pd.read_csv('./Bike.csv')Bikedata.head()
文章插图
#查看描述统计Bikedata.describe()
文章插图
#接下来 , 我们通过相关系数的大小来依次对特征进行可视化分析#首先 , 列出相关系数矩阵:df.corr()corrdf = Bikedata.corr()corrdf
文章插图
大致可以看出:会员在工作日出行较多 , 节假日次数减少 , 而临时用户相反 , 第一季度出行人数总体偏低 , 出行人数受天气影响较大 , 会员在每天早晚有两个高峰期 , 对应上下班时间;非会员在下午出行较密集 风速对出行人数有较大的影响 相对湿度 , 温度和体感温度对非会员出行影响较大 , 对会员出行影响较小 。
#接下来 , 我们通过相关系数的大小来依次对特征进行可视化分析#首先 , 列出相关系数矩阵:df.corr()corrdf = Bikedata.corr()corrdf
文章插图
#各特征按照与租赁总量count的相关系数大小进行排序corrdf['count'].sort_values(ascending=False)count1.000000registered 0.966209casual 0.704764hour 0.405437temp 0.385954atemp 0.381967year 0.234959month 0.164673season 0.159801windspeed_rfr 0.111783windspeed 0.106074weekday 0.022602holiday 0.002978workingday -0.020764weather -0.127519humidity -0.317028Name: count, dtype: float64
可见 , 特征对租赁总量的影响力为:时段>温度>湿度>年份>月份>季节>天气>风速>工作日>节假日
对特征逐项分析
首先对时段进行分析
- 第一步
适合图形:因为湿度属于连续性数值变量 , 我们可以选择折线图反应变化趋势
- 第二步
应用函数:直接应用plt的plot函数即可完成折线图
figure,axes = plt.subplots(1,2,sharey=True)#设置一个1*2的画布 , 且共享y轴workingday_df.plot(figsize=(15,5),title='The average number of rentals initiated per hour in the working day',ax=axes[0])nworkingday_df.plot(figsize=(15,5),title='The average number of rentals initiated per hour in the nworking day',ax=axes[1])
- 查询|数据太多容易搞混?掌握这几个Excel小技巧,办公思路更清晰
- 黑莓(BB.US)盘前涨逾32%,将与亚马逊开发智能汽车数据平台|美股异动 | US
- 健身房|乐刻韩伟:产业互联网中只做单环节很难让数据发挥大作用
- V2X|V2X:确保未来道路交通数据交换的安全性
- 短视频平台|大数据佐证,抖音带动三千万就业,视频手机将成生产力工具?
- 权属|从数据悖论到权属确认,数据共享进路所在
- 统计|多久才能换一次手机?统计机构数据有点意外
- 发展|大数据解读世界互联网大会·互联网发展论坛!
- 网购|黑色星期五及网购星期一大数据出炉 全球第三方卖家销售额超48亿美元
- Veeam|Veeam让企业数据拥有“第二次生命”