seaborn结合pandas的数据展示

五分钟快速掌握pandas,请看这篇博客:

https://blog.csdn.net/zhangfengBX/article/details/104978323

seaborn快速了解案例

散点图:

散点图是统计可视化的重要组成部分。它使用点云来描述两个变量的联合分布,其中每个点代表数据集中的一个观察。这种描绘可以推断出大量关于它们之间是否有任何有意义的关系的信息。
更多散点图介绍,请访问官网查看:http://seaborn.pydata.org/generated/seaborn.scatterplot.html#seaborn.scatterplot

代码:

import matplotlib.pyplot as plt
import seaborn as sns
import seaborn
sns.set(style="darkgrid") #这是seaborn默认的风格

#scatterplot参数  
# seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None,
#                     data=None, palette=None, hue_order=None, hue_norm=None, sizes=None,
#                     size_order=None, size_norm=None, markers=True, style_order=None,
#                     x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000,
#                     alpha='auto', x_jitter=None, y_jitter=None, legend='brief', ax=None)
tips = sns.load_dataset("tips")
cmap = sns.cubehelix_palette(dark=.3, light=.8, as_cmap=True)

ax = sns.scatterplot(x="total_bill", y="tip",
                     hue="size", size="size",
                     sizes=(20, 200), palette=cmap,
                     legend="full", data=tips)
fig=plt.gcf()
plt.show()
fig.savefig('test.png')   #保存图片到本地

运行结果:

线图:

线图是数据的一种的表示形式。在图上,用线条数据的变化趋势、数据模拟或行为变化等形成的路线。

代码:

import matplotlib.pyplot as plt
import seaborn as sns
import seaborn
sns.set(style="darkgrid") #这是seaborn默认的风格
ax = sns.lineplot(x="timepoint", y="signal", hue="event",
                  units="subject", estimator=None, lw=1,
                  data=fmri.query("region == 'frontal'"))
plt.show()

运行结果:

关系图:

提供对几个不同轴级功能的访问,这些功能通过子集的语义映射显示两个变量之间的关系。该kind参数选择要使用的基础轴级功能:

额外的关键字参数将传递给基础函数,因此您应该参考文档以了解每种类型的选项。之间的关系xy可以使用显示的数据的不同子集huesizestyle参数。这些参数控制使用哪种视觉语义来标识不同的子集。通过使用所有三种语义类型,可以独立显示多达三个维度,但是这种情节样式可能难以解释,并且通常无效。使用冗余语义(即huestyle对于同一个变量而言)和冗余语义都 有助于使图形更易于访问。

代码:

import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid") #这是seaborn默认的风格
tips = sns.load_dataset("tips")
g = sns.relplot(x="total_bill", y="tip", hue="day", col="time", data=tips)
plt.show()

效果:

pandas提供数据

随机生成一堆数据,然后展示出来。


import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid") #这是seaborn默认的风格
index = pd.date_range("20010325", periods=100,freq="m",name="日期")
plt.close("all")
data = np.random.randn(100, 3).cumsum(axis=0)
wide_df = pd.DataFrame(data, index, list("abc"))
print(index)
print(data)
print(wide_df)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文显示问题-设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
ax = sns.scatterplot(data=wide_df)
plt.savefig("pandas.png")
plt.show()

效果:

pandas读取Excel文件数据展示

前面的例子数据都不太方便看,下面来一个非常简单的数据,来展示散点图。

data.csv 文件内容:

a,b,c,d,e
1,2,3,4,5
1,1,2,3,1
1,2,3,4,1
4,3,4,2,3
4,3,4,2,3kk

执行代码:(读取Excel文件,展示其中的a、b、d三列属性的数值)

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
excel_data = pd.read_csv("data.csv")
print("读取文件内容:")
print(excel_data)
show_data = excel_data.loc[:,['a','b','d']]
print("提取后的字段数据")
print(show_data)
print("转置之后的数据:")
print(show_data.T)
# plt_pd = sns.scatterplot(data=show_data)
ax = sns.scatterplot(data=show_data)
plt.savefig('excel.png')
plt.show()

后台打印结果:(可以看着数据,和图对比)

读取文件内容:
   a  b  c  d    e
0  1  2  3  4    5
1  1  1  2  3    1
2  1  2  3  4    1
3  4  3  4  2    3
4  4  3  4  2  3kk
提取后的字段数据:
   a  b  d
0  1  2  4
1  1  1  3
2  1  2  4
3  4  3  2
4  4  3  2
转置之后的数据:
   0  1  2  3  4
a  1  1  1  4  4
b  2  1  2  3  3
d  4  3  4  2  2

执行结果

 

发布了41 篇原创文章 · 获赞 27 · 访问量 9万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览