python数据可视化练习(一)

涉及内容:使用for循环对DataFrame中的全部数据做映射变换(没有使用映射方法),并把多列数据合并为一长列,最后结合seaborn库绘制出九个字段的直方图,并使用3×3的方式排列图表在一张画布上。

导包

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

小啾某次做数据分析,处理部分清洗后问卷数据df5如下:
在这里插入图片描述


其中A、B、C、D、E分别表示的是群众对该意见的支持度,1,2,3,4,5。
然后将数据转化为支持度:

df6 = pd.DataFrame(index=range(len(df5)))for i in df5.columns:a = []for j in df5[[i]].values:if j == 'A':a.append(1)elif j == 'B':a.append(2)elif j == 'C':a.append(3)elif j == 'D':a.append(4)elif j == 'E':a.append(5)df6[i[3:]] = a
print(df6)

         在这里插入图片描述


使用pandas的melt方法把“宽”数据的多列合并成为一长列。

d = {"建议1": df6[["建议1"]].values,"建议2": df6[["建议2"]].values,"建议3": df6[["建议3"]].values,"建议4": df6[["建议4"]].values,"建议5": df6[["建议5"]].values,"建议6": df6[["建议6"]].values,"建议7": df6[["建议7"]].values,"建议8": df6[["建议8"]].values,"建议9": df6[["建议9"]].values
}
m = pd.melt(df6)
print(m)

m输出如下:
                     在这里插入图片描述


将九个字段,绘制出九个条形图,代码如下:

sns.set_style('darkgrid')
plt.rcParams['font.sans-serif'] = ['STKAITI']
g = sns.FacetGrid(m, col='variable', col_wrap=3)
g = g.map(sns.histplot, 'value')

图像效果如下:

       在这里插入图片描述


本次练习分享就到这里,小啾祝您学习愉快!
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部