数据分析实战 45 讲
陈旸
清华大学计算机博士
85359 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
第二模块:数据分析算法篇 (20讲)
第四模块:数据分析工作篇 (2讲)
数据分析实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

16丨数据分析基础篇答疑

截止到今天,我们已经将数据分析基础篇的内容都学习完了。在这个过程中,感谢大家积极踊跃地进行留言,既给其他同学提供了不少帮助,也让专栏增色了不少。在这些留言中,有很多同学对某个知识点有所疑惑,我总结了 NumPy、Pandas、爬虫以及数据变换中同学们遇到的问题,精选了几个具有代表性的来作为答疑。

NumPy 相关

答疑 1:如何理解 NumPy 中 axis 的使用?
这里我引用文稿中的一段代码:
a = np.array([[4,3,2],[2,4,1]])
print np.sort(a)
print np.sort(a, axis=None)
print np.sort(a, axis=0)
print np.sort(a, axis=1)
同学们最容易混淆的是 axis=0 和 axis=1 的顺序。你可以记住:axis=0 代表跨行(实际上就是按列),axis=1 代表跨列(实际上就是按行)。
如果排序的时候,没有指定 axis,默认 axis=-1,代表就是按照数组最后一个轴来排序。如果 axis=None,代表以扁平化的方式作为一个向量进行排序。
所以上面的运行结果为:
[[2 3 4]
[1 2 4]]
[1 2 2 3 4 4]
[[2 3 1]
[4 4 2]]
[[2 3 4]
[1 2 4]]
我解释下 axis=0 的排序结果,axis=0 代表的是跨行(跨行就是按照列),所以实际上是对[4, 2] [3, 4] [2, 1]来进行排序,排序结果是[2, 4] [3, 4] [1, 2],对应的是每一列的排序结果。还原到矩阵中也就是 [[2 3 1], [4, 4, 2]]。

答疑 2:定义结构数组中的 S32 代表什么意思
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据分析实战 45 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(37)

  • 最新
  • 精选
  • 河蟹hxscript
    这个答疑课是真的良心了。。。。。。

    作者回复: 哈哈哈 谢谢HxScript 你这么说我也很开心 努力就会有收获

    68
  • 一语中的
    import numpy as np a = np.array([[4,3,2],[2,4,1]]) print (np.sort(a, axis=0) ) 关于爬虫: 1.selenium+chrome/chromeless/phatomJS, 可以处理页面加载后,需要运行javaScript,元素才会显示的情况; 2.Scrapy 爬虫框架,针对数据量大,层级嵌套较多的网页,框架中用到yield生成器,是关键 3.解析,lxml,bs4包,正则表达式等

    作者回复: 加油! 不错

    9
  • 几何
    pyquery解析网页挺好用的

    作者回复: 这个不错

    8
  • 🦍小梓桐🌙
    关于numpy中的axis,可以理解成旋转轴或者映射,尤其是高维数组,不应该死记硬背。0是第一维度,也就是行,在行上的映射也就是每一列。以此类推。

    作者回复: 对的 总结的不错

    5
  • 許敲敲
    np.sort(a,axis=0) 第二题 就会最简单的request 加beautifulsoup. 加re表达式,爬过 地铁网站 机械专业论坛

    作者回复: 地铁网站 机械专业论坛 说明亲是机械专业毕业的?

    2
    5
  • 鱼非子
    import numpy as np a = np.array([[4,3,2],[2,4,1]]) b = np.sort(a,axis= 0) print(b) 爬虫还是新手一枚,目前只会一点request和八爪鱼爬虫

    作者回复: Good Job

    2
  • 路过蜻蜓
    第一题: import numpy as np a = np.array([[4,3,2],[2,4,1]]) print (np.sort(a, axis=0) ) 第二题 爬虫用的是requests,分析用的比较多的是xpath,有时会用re,re有些优势是xpath不能替代的。beautiful soup 会用,但不用,因为抓取速度是比xpath和re慢。用过senlenium 和headless chromedriver 抓取过一些只用javascript生成数据的网页,xhr都抓不出什么数据的,加密的太严格了。senlenium的确可以无脑抓取网页,但很容易崩溃,不稳定,Puppeteer没有用过,之后会尝试去替代senlenium来抓取。

    作者回复: Good Job

    2
  • Grandia_Z
    报个到,已经上了18讲了,打算利用周末的时间回顾下做个期中复习(^_^)a

    作者回复: 不错啊! 有期中复习,相信你收获会更多的

    1
  • 哎哟哟
    import numpy as np a = np.array([[4,3,2],[1,2,3]]) print(np.sort(a,axis = 0)) 老师教的八爪鱼、requests

    作者回复: 正确

  • 十六。
    np.sort(a,axis=0) 经常用的是requests,解析库lxml感觉比较容易上手,而且scrapy也有lxml 爬过:51job,安居客,58同城,知乎,哔哩哔哩,豆瓣。。。 scrapy看了一点没看完呢,就跑过来学数据分析了 追求速度还是scrapy,requests学习生活中爬取速度够了,要注意反爬封ip

    作者回复: Good Job

收起评论
显示
设置
留言
37
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部