Python数据分析答疑4:Numpy入门

8.16 第四课 Numpy入门

作业:

作业1:

生成一个3行5列的数组,元素值从1到15排列

1. 取出其中的第1行,第3列元素

2. 取出其中的第2行到最后一行

3. 取出其中的第1行到第2行,第1列到最后一列

4. 取出其中的第0行和第2行,第三列

作业2:

给出一组学生姓名,和他们对应的成绩,存储在下方数组中。请计算以下问题:

1. 找出不及格的学生姓名(提示:使用布尔型索引)

2. 找出最高分、最低分,平均分数

3. 将数值成绩转化成字母成绩,大于等于90分为A, 70-89分为B,小于70分为C

数据如下:

names = np.array(["Xiao Ming","Xiao Zhang","Xiao Gang","Xiao Hong","Xiao Pang","Xiao Wu","Xiao Dai",

"Xiao Qian","Xiao Fan","Xiao Wang"])

scores = np.array([ 91, 68, 84, 55, 95, 81, 67, 82, 86, 78])


作业答疑Q&A目录:

1,如何读取文件

2,代码运行出错:转换数组

3,代码理解:randon

4,代码运行出错:In[*]

5,代码运行出错:arr

6,如何读取文件

7,如何读取文件

8,代码理解:%是否支持小数运算

9,代码运行出错:中英切换

10,代码理解

11,如何读取文件

12,如何读取文件

13,代码运行理解:遍历

14,代码理解:dtype

15,代码运行理解:round

16,代码运行理解

17,代码运行出错/死循环

18,代码运行出错

19,如何读取文件

20,代码运行出错


Q 1 :请问,第四课的课件除pdf文件以外的两个文件如何下载,之前老师讲过,给忘了

A:https://github.com/DataLearningTeam/PythonData。里面有个绿色按钮,clone and download。选择其中的download zip即可下载,每次下载的内容都是全部的。


图4-1

Q 2 : 如上图(图4-1),我转换了一个数组,为什么显示出来的格式是‘0’呢?

A:第一行是不是打错了,np.arry = np.array()


Q 3 :老师,书上92页:  data = randn(7,4)  ,这句输入后执行显示randn没有定义。这是还要用什么库么?

A:书中有些代码会省略包的导入,如这里省略from numpy.random import randn,没有这句话的情况下,可以使用np.random.randn(7, 4)


Q 4 :老师In[ ]这里面变成“*”而不是序列数字了怎么办? 

A1:建议重启一下kerenl,产生这个原因可能是在之前遇到过死循环,或者因为些外界因素导致kernel环境停止。

A2:我Google到的解决方法是,点列表Kernel然后单击Interrupt。,然后按Shift + Enter。


Q 5 :使用“arr”报错。。。请问是什么原因

A:看下英文描述,试着到网上找下错误原因。

NameError: name "arr" is not defined


Q 6 :请问如果我自己要重复那个红酒案例,如何读取‘winequality-red.csv’这个文件?是把那个文件拷贝到自己的github里还是拷贝到本地某个文件夹?

A:拷贝到自己的本地文件夹。

追问Q:下载到本地一个文件夹,解压,按视频中的代码执行程序还是显示winequality-red.csv not found,该怎么办?

A:保存到和你要执行的那个ipynb相同目录下


Q 7 :请教老师,我想下载这个csv文件该如何下载。pdf文件点击进去后有download键可以下载,但csv文件点进去没有啊……

A:直接通过https://github.com/DataLearningTeam/PythonData的clone or download下载

追问Q:这样好像下载的是全部文件?我只想下载这一个csv文件的话,该如何处理呢?

A:进入到每个文件中,然后找到raw,右键选择"链接存储为"


图4-2

Q 8 :求公约数那题,如上图(图4-2),如何求带小数的公约数,是不是%根本就不支持小数运算

A:小数的公约数怎么定义,定义小数哪一位能被整除?而且小数是有精度问题,计算机表示的小数和真实的数字有差别。这点不用完全理解。可以把小数转为整数,求公约数,然后在转化为小数。


图4-3

Q 9 :请问上图中(图4-3)列表中的数值不支持汉字,是这样吧?

A:支持的。第一行“1月”后面那个逗号是在汉字输入法下的,是全角,改成半角就好了。


图4-4
图4-5

Q 10 :讲解作业部分,有两个问题,请老师帮忙回答下,多谢!

1. 没懂这个关系(图4-4),x[1:2] 可以理解为列表里的第2行[d,e,f],之后的[0]位应该是 d 啊,然后又来个 [1]..不懂了,这个[0]没有意义吗?

2. k= max(n1, n2) 不是限制了k只能是n1与n2之间的那个最大数吗?

A:第一问自己打一遍印象比较深刻,看看x[1:2]是什么x[1:2][1]又是什么。x【1:2】出来是1行三列的array。

第二问,是设定k从n1和n2中较大的那个数开始算起,这样比较省时间,毕竟就算你从1开始,1-max(n1,n2)这个区间里的答案是错误的。在循环里,k被赋予新值


图4-6

Q 11 :图4-6,想把一个csv文件导入进行处理,因为我所有的数据都是通过excel表格。但在网上找了很多方法,都出现各种各样的问题。下面这个能看懂一点。请老师能帮忙看看能不能用吗?我的csv文件放在附件里。

A:对于numpy,csv文件可以使用genfromtxt方式。

后面介绍pandas,csv也有专门的方法读取。

你介绍的这种方式需要导入csv包,也就是需执行import csv


Q 12 :老师帮帮忙,给点提示也行。我一直读取不了红酒的文件。不知道是储存位置错了还是文件下错了。一点思路都没有啊。

A:把这个文件放到notebook同级目录下。


图4-7

Q 13 :最后一题的最后一问方法一不知道为什么没有报错(最后一张图)?求解

A:你把scores遍历了,每一个应该是 i ,所以应该是 if i >=90 : 我跟你的方法一样,也犯过同样的错误哈哈


图4-8

Q 14 :上图(图4-8),为什么输出的值的末尾出现dtype?

A:没关系的 使用print就不会打印dtype了。U1表示numpy里面元素为字符串长度为1。


Q 15 :平均分怎么保留两位小数,使用round为什么没有用呢

A:你没贴round失败的图,我不确定我猜的对不对。试试round(a,2) a是要round操作的数,2是保留2位小数,必须要设置保留几位小数


Q 16 :np.where(scores < 70, 'C', np.where(scores > 90, 'A', 'B'))虽然写出来了,而且运行结果也对。但是对这个方法觉得不理解。

问题一:作为where函数,后两个参数应该是类型一致的。第一层where的第二个参数是'C',那第三个参数应该也是一个字符。但是np.where的返回值是一个array,这怎么可以作为一个参数传入?

问题二:第二个参数的返回值是一个数组吧?为什么是一个字符串呢?

A1:问题一:并未规定后面的两个参数一致。只是np数组要求类型一致。为了保证这一点,第二个参数虽本身不是字符串,但是它的计算结果是字符串。

问题二:这我也不太懂了,我也是从网上查到使用嵌套的,使用if else就很容易理解了,但也不是特别理解。

A2: 老师说了,其实第二三个参数都是数组,只是之前利用了广播,自动扩展成了数组


图4-9

Q 17 :大家能不能帮我看看(图4-9),print 姓名那行,老说我格式不对……我定义了str啊?

还有个问题,出现死循环*,改完之后你们只用restart就好使吗?我要用restart&run all才可以,可我记得老师上课说用restart就行的……

A1:restart ,然后运行你要用的那一行以及和它相关的,你的函数定义和运行函数命令在2个 in[ ] 里,restart相当于内存格式化,是不是只运行了运行函数那个 in[ ] 所以不起效果。

A2: print把加号改成逗号试试,或者你说把print换成return


图4-10

Q 18 :图4-10,请问我这错在哪?

A:if冒号少了


图4-11

Q 19 :请问要把红酒案例那个文件储存到哪里才可以像老师一样打开?或者有别的方式打开吗?

A:和你写的python文件(.py)在同一目录下,如图4-11。不需要打开,python里读取就好了。


图4-12

Q 20 :如图4-12,为什么会说 np没有被定义呢?

A:有没有import numpy as np?或者有没有中途restart过?把import那个运行一遍再运行你现在出问题的那个,试试



第四课答疑Q&A结束啦!以上整理内容来自新生大学解密大数据团队的Python数据分析课程的作业区和讨论区,还有QQ群。若有错误之处,欢迎指正。

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

推荐阅读更多精彩内容