概述
涉及内容:使用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')
图像效果如下:
本次练习分享就到这里,小啾祝您学习愉快!
????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ????꧔ꦿ
最后
以上就是重要飞鸟为你收集整理的python数据可视化练习(一)的全部内容,希望文章能够帮你解决python数据可视化练习(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复