Python数据分析答疑7:Matplotlib入门

9.6 第七课作业

作业1:

模仿课上的例子,根据公司小数数据画出交易总数最高10个公司条形图。

提示:可以使用sort_values(by= quantity) 来实现。


作业2:使用seaborn包画图

画出花萼宽度和长度的散点图,使用品种划分数据

画出花萼的长度的箱线图,使用品种划分数据


作业3(选做):波士顿房价数据的可视化

from sklearn import datasets

boston_dataset = datasets.load_boston()

著名的机器学习数据集,大家尝试观察数据,提出自己的观点。建议的作业方式依然是以文章链接的方式来做。


答疑Q&A目录:

1,代码理解:max函数

2,代码理解:subplot(121)

3,代码理解:inplace=True

4,代码运行

5,代码运行出错:读取文件

6,代码运行出错

7,代码运行出错

8,代码运行:填充图像面积

9,代码运行:图表

10,代码运行:删除图表字符

11,图表理解:离散化

12,代码理解:tick / barh

13,代码运行出错:无效句法

14,代码理解:空格

15,代码运行出错

16,代码理解

Q 1 :我自己实现了一下agg自带的max函数。有个问题是,之前老师有些max=None,但是这么写报i和max不是一个类型。有点郁闷。

# 手动实现max

def manual_max(arr):

max = 0

for i in arr:

if (i > max):

max = i

return max

#manual_max(iris.sepal_length)

iris.groupby('species').agg({'sepal_length':[manual_max]})


A:对,不是一个类型,所以我有个判断

if max is None:

max = i

类似这样的操作。


Q 2 :在一张图上画了两个图,就是那个aaa_subplot。我的问题是,ax1 /ax2只是在产生的时候得到,但是这两个变量在后面的函数中并没有使用。那么怎么知道是画在第一个地方还是画的第二个?


A:ax1后面的subplot(121)代表一行两个图的第一个图

ax2后面的subplot(122)代表一行两个图的第二个图


Q 3 :第七次课程里面,求销售额最高的10个公司那个例题,老师用的更换名字的代码,最后面的inplace=True的作用是什么啊?我把inplace=True删掉,输出的结果也是一样的。


A :inplace=True相当于把前面修改过的名字传回到原数据中。


Q 4 :第6课选做作业里面,如何表示非星期六或星期天?求解答。


A :tips[(tips[day] != "Sun") & (tips[day] != "Sat")]


图1

Q 5 :读取文件的时候出现了上图(图1)错误提示,怎么办?


A :从QQ群里面下载文件,估计你这个文件有问题。


Q 6 :我用自定义函数agg,为什么会报错?对照例子看了好多遍,都没发现问题(参照上面两个图)


A:首先,第一个图返回的不是一个统计量,非标量,需要使用更通用的apply方法,还有一个问题,arr.mean(),这个是求按分组求各列的平均值,但是species是字符串型,无法计算平均值。

二图,错误原因也是因为返回的值非标量,需要使用通用的apply方法,而不是agg。


追问Q:还是没弄懂,我按照老师的方法,只是定义的函数我改成了delta_iris,而不是range_iris。结果就出错了,难道和定义的名字还有关系吗?我彻底疯了,这个问题困惑了4个小时了。过不去了…………


A:和名字没关系,主要是理解apply和agg的区别,多尝试不同的案例试试。


图4

Q 7 :按老师的操作,列名变成了数字,图4,这是什么原因?


A:注意,这里columns写错了。


图5

Q 8 :作业7.1与7.2还是简单的,主要就是把例题中的名字换一下再运行下。目前有个关于图像的填充问题一直没得到解决:y=sin(x)如图显示(图5),如何填充这个图像下侧的面积?


A:试试如下代码:plt.fill_between(x, y, y2=-1),是不是你想要的效果。


图6

Q 9 :问题,超过9张图,能画在一张画布上吗?(图6)


A :可以的,你可以试试,三行三列。


图7

Q 10 :想用.show()把sns箱图结果里的字去掉,未果,如上图(图7),求教sns里怎么去掉?


A:可以的,要把plt.show()放在最后一行


图8

Q 11 :选做题,1看下房价和犯罪率的关系:其实不大懂数学和读图,猜一下这个图是房价30-50之间的犯罪率最低,房价低于30或是最高50的地区比较容易发生犯罪,所以买房子尽量避开贫民区和土豪的地。。


A:如果你要画房价与犯罪率的箱图,首先需要把房价按区间分组离散化,比如0.1-0.2之间是一组,不然这图感觉就是奇葩的散点图,什么也说明不了


图9

Q 12 :问题:图9,标注1,为什么这个tick改的就是y轴呢?也没指明x还是y

标注2,为什么这里的plt.yticks, 只把第二图里的y轴改掉了,格式上没有缩进,程序怎么识别的是要改第二个而没把第一个图的y轴也给隐藏呢?

另外,barh(x, y)里,x是不是x轴,y是不是y轴?貌似由bar变成barh,x和y跟着反过来了。。。但是下面的plt.x/yticks,还是按照barh之后的x/y来的。。


A:label的意思是标签,柱形图的标签只存在与一个位置,另一个是数值啊,所以不用指定。

visible为什么不影响第一张图,你可以理解为有个画笔吧,当调用了add_subplot(121),相当于画笔开始画第二幅图了。

barh和bar的方法定义你可以看下,他们的变量都不是表示x, y,也就是并没有说开头两个参数是代码x、y,只是表示一个是标签一个是数值。


图10

Q 13 :这里一直提示 America那里有一个 无效句法,但是我不知道问题在哪里。哪位同学可以帮我看下啊


A:变量名不能有空格,可以用North_American代替North American


图11

Q 14 :使用unique统计的时候,这里有空格(图11)。是因为这里不是变量名,是dadaframe的一个数值,所以允许?


A :是的。


图12
图13

Q 15 :我遇到一个人均平均消费水平的问题,最后一列的结果总是不对,有人能看出原因吗?(图12)


A :取值运算中 . 与[ ] 不一定等价 。改成图13.

图14


图15


Q 16 :为什么这个结果显示不是0呢?(图14)


A:图15,我这么理解的,是内部计算是保留精读的问题,这里math.pi*360/2pi 不等于180,所以结果不是0。math.asin(np.sin(math.pi))用反函数求了对应的弧度,和正弦值相等,符合弧度无穷小时,正弦曲线呈现y=x的性质。不知道这样够不够说明清楚了。尝试用了degree转换,但没成功


以上内容整理来源:新生大学 —— 解密大数据团队的《Python编程&数据科学入门》线上课程 第七课《Matplotlib入门》的 作业区/讨论区以及QQ群聊记录。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容