数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?
数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
经典算法
本文用到的样例数据:
样例代码:
导入关键模块
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.close("all")
画图有几种方式:
1、使用matplotlib的 pyplot模块
2、直接使用序列数据画图,实质上也是调用pyplot模块
3、直接使用Dataframe数据画图,实质上也是调用pyplot模块
当使用的是序列数据时,如何把序列数据展示为曲线呢?
该例使用随机生成数据来举例,需要指定index,使用时间刻度。
# serial plot vs date time
np.random.seed(123456)
ts = pd.Series(np.random.randn(1000), index=pd.date_range("1/1/2000", periods=1000))
ts = ts.cumsum()
ts.plot()
plt.show()
plt.close("all")
当使用时间日期数据,其实调用的是 gcf().autofmt_xdate()
函数格式化x轴。
有时候使用的是dataframe数据类型,如何把dataframe数据展示为曲线呢?
这样是可以一张图同时画出多列数据线集中展示,需要比较数据:
# dataframe plot 画图
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list("ABCD"))
df = df.cumsum()
df.plot();
plt.show()
plt.close("all")
有时候,Boss突发奇想,看看两列的关系呢?如何展示?
当然除了都放在一张图以外,还可以画出两列之间的关系,只要在plot函数指定x,y参数。
df3 = pd.DataFrame(np.random.randn(1000, 2), columns=["B", "C"]).cumsum()
df3["A"] = pd.Series(list(range(len(df))))
df3.plot(x="A", y="B");
以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。
后面介绍下除了画线以外的展示形式。
df.plot.area df.plot.barh df.plot.density df.plot.hist df.plot.line
df.plot.bar df.plot.box df.plot.hexbin df.plot.kde df.plot.pie
df.plot.scatter
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章:
GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案
GPT实战系列-LangChain + ChatGLM3构建天气查询助手
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)
GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案