大家好,最近有不少新朋友咨询怎么学Python,从哪找学习资源等等。

由于我个人也是从网易云课程的免费资源入门的,这里就扒一扒了网易云课程的Python课程资源,做简单的处理分析,让大家对这个平台的免费好资源有个了解,然后白嫖起来就好了。(文末附领取方式)

可以叫我才哥数据爱好者,学习分享数据之美63篇原创内容

Official Account

关于免费课程方面,其实有很多都讲得很详细,新人朋友选择一个比较全面的免费课程学习下去,基本就能对基础有一定的掌握,然后再进行更深入的学习就行了。

目录:

  • 1. python课程数据采集
  • 2. 简单的数据处理
  • 3. 都有哪些不错的课程
    • 3.1. 评分最高的课程
    • 3.2. 学习人数最多的课程
    • 3.3. 数据分析及可视化类的课程
  • 4. 网易云课程Python课程数据统计
    • 4.1. 评分区间分布
    • 4.2. 课程单价区间分布(原价)
    • 4.3. 课程学习人次区间分布
    • 4.4. 课程名称常用关键词
    • 4.4. 课程描述常用关键词
    • 4.5. 各机构课程学习人次及评分

1. python课程数据采集

网易云课堂的课程列表数据爬取比较简单,直接关键字搜索出结果之后在开发者模式找到请求源地址即可,通过接口发现数据起始就是json格式的,处理也比较简单,附完整代码如下:

import pandas as pd
import requests
from tqdm import tqdm# 请求头
headers = {"Accept-Encoding": "Gzip",  # 使用gzip压缩传输数据让访问更快"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36",
}
# 数据接口地址
url = 'https://study.163.com/p/search/studycourse.json'# 获取数据函数
def getData(page):pageIndex = pagerelativeOffset = (page-1)*50Payload = {'activityId': 0,'keyword': "python", # python关键字,你也可以改为别的'orderType': 5,'pageIndex': pageIndex,'pageSize': 50,'priceType': -1,'qualityType': 0,'relativeOffset': relativeOffset,'searchTimeType': -1,}r = requests.post(url, json=Payload, headers=headers)data = r.json()return data# 获取总页数
data = getData(1)
pages = data['result']['query']['totlePageCount']dataList = []
for page in tqdm(range(1, pages+1)):data = getData(page)dataList.extend(data['result']['list'])
# 将数据转为dataframe类型
df = pd.DataFrame(dataList)
# 只选取自己需要的字段
df = df[['courseId', 'productName', 'description', 'provider', 'score','learnerCount', 'lessonCount','originalPrice', 'discountPrice', 'discountRate','vipPrice']]
df['平台'] = '网易云课堂'
# 存储数据到本地
df.to_csv('网易云课堂python课程.csv',index=None)

数据预览:

数据预览

2. 简单的数据处理

由于我们在查看原始数据发现存在评分超过5,课程实际为Java或Power bi类的,这里需要进行删除:

# 删除score异常的数据及非python课程
df = df[df['score']<=5]
df = df[~df.productName.str.contains('Java')]
df = df[~df.productName.str.contains('Power')]

另外,我们在后续需要对评分价格以及学习人数进行分箱操作后做数据可视化,这里也直接进行一次分箱操作:

# 设置评分区间
bins = [0,2,3,4,4.5,5]
df['评分区间'] = pd.cut(df.score,bins)
# 计算评分区间分布
score = df.groupby('评分区间')['courseId'].nunique().reset_index()
score.评分区间 = score.评分区间.astype('str')# 设置原价区间
bins = [0,10,50,100,200,500,1000]
df['原价区间'] = pd.cut(df.originalPrice,bins,right=False)
# 计算原价区间分布
price = df.groupby('原价区间')['courseId'].nunique().reset_index()
price.原价区间 = price.原价区间.astype('str')# 设置学习人次区间
bins = [0,100,200,500,1000,2000,5000,100000,1000000]
df['学习人次区间'] = pd.cut(df.learnerCount,bins,right=False)
# 计算学习人次区间分布
learner = df.groupby('学习人次区间')['courseId'].nunique().reset_index()
learner.学习人次区间 = learner.学习人次区间.astype('str')# 计算各培训机构python课程数
provider = df.groupby('provider')['courseId'].nunique().reset_index()

3. 都有哪些不错的课程

由于评分最高的一批课程以及学习人数最多的课程都是免费的,所以这里就直接简单做排序处理就好了。

3.1. 评分最高的课程

评分最高的课程都是满分5分,学习人数超过20万的免费课程《免费Python全系列教程全栈工程师》真的超级推荐,不仅包含了python基础,还包含了GUI库Tkinter、爬虫、Django等内容共128课时。

免费Python全系列教程全栈工程师

评分最高且学习人数最多的前10课程:

score10 = df.sort_values(['score','learnerCount'],ascending=False).head(10)
score10[['productName','provider','score','learnerCount','lessonCount']].reset_index(drop=True)

评分最高且学习人数最多的前10课程

有兴趣的同学可以都看看,根据自己的需求,免费的好资源,白嫖起来!

3.2. 学习人数最多的课程

在学习人数最多的课程中,python基础、python爬虫和python-web开发居多,大家依旧是可以根据自己的需求,有选择的进行学习。

learnerCount10 = df.sort_values(['learnerCount','score'],ascending=False).head(10)
learnerCount10[['productName','provider','score','learnerCount','lessonCount','originalPrice']].reset_index(drop=True)

学习人数最多的课程

绘图展示:

学习人数柱状图

绘图代码:

from pyecharts import options as opts
from pyecharts.charts import Barx_data = learnerCount10.productName.to_list()
y_data = learnerCount10.learnerCount.to_list()bar = (Bar(init_opts=opts.InitOpts(theme="light", width='800px',height='490px',)).add_xaxis(x_data).add_yaxis('', y_data).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title="网易云课堂Python课程学习人数最高的前10课程", subtitle="绘图:可以叫我才哥"),))bar.render_notebook()

3.3. 数据分析及可视化类的课程

我们通过关键字过滤课程,看看都有哪些关于数据分析、可视化及pandas的免费课程资源

数据分析主题课程

data = df[df['productName'].str.contains('数据分析')]
learnerCount10 = data.sort_values(['learnerCount','score'],ascending=False).head(10)
learnerCount10[['productName','provider','score','learnerCount','lessonCount','originalPrice']].reset_index(drop=True)

数据分析课程

大家就找originalPrice = 0 且 score 高的就可以看看了。

可视化主题课程

data = df[df['productName'].str.contains('可视化')]
learnerCount10 = data.sort_values(['learnerCount','score'],ascending=False).head(10)
learnerCount10[['productName','provider','score','learnerCount','lessonCount','originalPrice']].reset_index(drop=True)

可视化

pandas主题课程

data = df[df['productName'].str.contains('pandas')]
learnerCount10 = data.sort_values(['learnerCount','score'],ascending=False).head(10)
learnerCount10[['productName','provider','score','learnerCount','lessonCount','originalPrice']].reset_index(drop=True)

pandas

4. 网易云课程Python课程数据统计

网易云课堂一共有1,544种python关键字课程,其中有400门是免费课程,占比达到25.91%超过1/4。在网易云课堂发布课程的机构有491家,其中最多的发了59门课程。

4.1. 评分区间分布

可以看到,网易云课程中,超过3/4大部分课程的评分在4-4.5分之间,超高分的4.5以上也有接近20%,整体来说还是可以的。

评分区间

绘图代码

from pyecharts.charts import Pie# 富文本
rich_text = {"a": {"color": "#999", "lineHeight": 22, "align": "center"},"b": {"fontSize": 12, "lineHeight": 33},"per": {"color": "#eee","backgroundColor": "#334455","padding": [2, 4],"borderRadius": 2,},
}cate = score.评分区间.to_list()
data = score.courseId.to_list()pie = (Pie(init_opts=opts.InitOpts(theme='light', width='700px',height='490px',)).add('', [list(z) for z in zip(cate, data)],radius=180, #设置饼图半径label_opts=opts.LabelOpts(position='outsiede',formatter="{b|{b}: }{c}  {per|{d}%}  ",rich=rich_text)).set_global_opts(legend_opts=opts.LegendOpts(is_show=False),title_opts=opts.TitleOpts(title="网易云课堂python课程评分区间分布",subtitle='制图:可以叫我才哥'),))
pie.render_notebook()

4.2. 课程单价区间分布(原价)

在1544门课程中,有400门免费课程,1144门付费课程。在付费课程中大部分其实在100元以内,其中10元以内 139门占比12.18%,1000元以上42门占比3.68%。

课程单价区间

4.3. 课程学习人次区间分布

其实,有67.6%的大部分课程学习人次都较少低于100,差不多就是那些知名度低或者价格高的课程吧。另外,还有4门课的学习人次超过了10万次,这部分就是上面提到的python基础免费课程。

学习人次区间分布

4.4. 课程名称常用关键词

对于python课程,大家都喜欢起什么名字呢,以python为核心关键字之外,常见的关键字还有基础、入门、爬虫、开发、编程、实战等等。

我们可以看到,爬虫 作为特殊关键词的存在,一定程度上表明了这类型可能很受python学习者的青睐!

python课程关键字词云

4.4. 课程描述常用关键词

在课程描述中,依旧是以Python为核心关键字,此外课程、数据、开发、学习、基础、讲解、介绍、数据分析和项目等字眼也频繁被用到。

python课程描述常用关键词

4.5. 各机构课程学习人次及评分

在这里还是要推荐下我自己建的Python学习Q群:705933274,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

扒一扒网易云课堂python课程,发现还有不少可以白嫖的免费好资源相关推荐

  1. 网易云课堂python怎样_网易云课堂开设的计算机专业课程怎么样?结业后能达到什么水平?...

    今天出成绩了,总评98哦哈哈,可惜在美帝没法参加PAT考试拿不到优秀证书有点不开心,然后继续leetcode-- ----以下为原始答案---- 最近刚刚完成了 @陈越姥姥 的数据结构,并且期末成绩还 ...

  2. python股票量化投资课程 百度云_网易云课堂 Python股票量化投资课程|百度云|天翼云|GD|OD下载...

    目录:/07 Python股票量化投资课程(完结) [6.4G] ┣━━01第一课资料 [0B] ┃ ┗━━视频课程分享资料 ┣━━02第二课资料 [0B] ┃ ┗━━class2 ┣━━03第三课资 ...

  3. 网易云课堂Python Flask框架全栈开发(200课全)

    适用人群 1.想使用Python快速开发网站的. 2.前端开发者,想学习后端开发逻辑的. 3.有编程经验,想学习Flask的. 课程概述 本套课程的目标是从零基础开始,使用Flask框架开发企业级的项 ...

  4. 网易云课堂 python数据分析_网易云课堂 数据分析(二)

    这篇文章接着上篇的分析. 工具准备: python3.6 (jieba,scipy,matplotlib库) 上篇数据分析的主要问题在于一些非技术词拥有太高的IDF值,所以影响了最后的结果. 所以这次 ...

  5. 最新网易云课堂Python Flask框架全栈开发(完整版)

    适用人群 1.想使用Python快速开发网站的. 2.前端开发者,想学习后端开发逻辑的. 3.有编程经验,想学习Flask的. 课程概述 本套课程的目标是从零基础开始,使用Flask框架开发企业级的项 ...

  6. 最新网易云课堂Python Flask框架全栈开发

    适用人群 1.想使用Python快速开发网站的. 2.前端开发者,想学习后端开发逻辑的. 3.有编程经验,想学习Flask的. 课程概述 本套课程的目标是从零基础开始,使用Flask框架开发企业级的项 ...

  7. 2018最新网易云课堂Python Flask框架全栈开发

    适用人群 1.想使用Python快速开发网站的. 2.前端开发者,想学习后端开发逻辑的. 3.有编程经验,想学习Flask的. 课程概述 本套课程的目标是从零基础开始,使用Flask框架开发企业级的项 ...

  8. 最新网易云课堂Python Flask框架全栈开发(完整)

    适用人群 1.想使用Python快速开发网站的. 2.前端开发者,想学习后端开发逻辑的. 3.有编程经验,想学习Flask的. 课程概述 本套课程的目标是从零基础开始,使用Flask框架开发企业级的项 ...

  9. 网易云课堂python怎样_有木有人上过网易云课堂的 Python Web 微专业,怎么样?

    第一期学员路过,谈下学习感受. 1.任何一门涉及到编程的课程都是有一定的难度的, 如果只想着看几次视频课下不下功夫拓展显然是学不好的, 学不好的问问自己投了多少时间, 参与讨论的又有多少; 2.课程内 ...

  10. 网易云课堂Python数据分析实战前两章(跟小蚊子老师学数据分析)

    第一章节 Python与数据分析概况 1 数据分析概况 1.1 什么是数据分析 数据分析简单来说就是对数据进行分析,专业的说法是数据分析是指使用适当的分析方法,对收集的数据进行分析,总结规律,提炼出有 ...

最新文章

  1. iOS:转载:UIControl的使用
  2. NLP-基础知识-003(词性标注)
  3. 如果你不喜欢让大人说你祝酒祝福
  4. Android 自动向上滚动,android – Recyclerview在插入数据时自动向上滚动
  5. QML工作笔记-为PushButton戴上皮肤
  6. 面试精讲之面试考点及大厂真题 - 分布式专栏 07 说一说什么是正向代理,反向代理
  7. Win32汇编——内存映射文件
  8. 23. jQuery 遍历 - 过滤
  9. win7修复计算机卡了,win7系统下360补丁修复过程中卡住的解决方法
  10. 文电通:助力企业入局“无纸化办公”!
  11. Redis连接池RedisPool使用
  12. 机器学习实战(Machine Learning in Action)参考答案以及原始数据
  13. 什么是云服务器ECS?云服务器是干什么的?
  14. 中文标注工具brat的使用
  15. FastBoot BootLoader Recovery 模式学习
  16. 微信小程序——开发介绍
  17. 做好SEO必备的三步骤
  18. 量化分析师的Python日记【Q Quant兵器谱之函数插值】
  19. 读书印记 - 《历代经济变革得失》
  20. 【算法设计与分析】1.主定理

热门文章

  1. timeroc 最优最佳截断值特异度(specificity)与灵敏度(sensitivity)
  2. Excel怎么批量将各数据复制填充指定次数
  3. 儿童手表语音卡安全吗?
  4. 张萌韩墨羽——Toolbar和DrawerLayout+SlideMenu 2种方式实现抽屉侧滑
  5. C++ 引用的本质是什么?
  6. Guava: Joiner
  7. Mysql内容查找替换
  8. JavaScript设计模式之“单例模式“
  9. 澳洲国立大学的计算机专业,澳洲国立大学计算机专业前景和申请详解
  10. SAS: PROC IMPORT简单入门介绍