Python 音视频剪辑快速入门教程

目录
  • 一、引言
  • 二、Moviepy 简介
  • 三、Moviepy 安装
  • 四、音视频的加载和保存
  • 五、音视频数据的访问
  • 六、音视频变换
    • 1、Clip 的 fl 方法
    • 2、Clip 的 fl_time 方法
    • 3、剪辑颜色变换
    • 4、剪辑大小变换
    • 5、剪辑内容变换
  • 七、剪辑合成
    • 1、概述
    • 2、将多个剪辑拼接
    • 3、多个剪辑同屏播放
    • 4、将一系列图像构造成视频
    • 5、其他几种生成视频方法简介
  • 八、小结

一、引言

在这个短视频和自媒体大行其道的年代,音视频剪辑成为了大佬们的必备工具,现在有很多音视频剪辑的软件,如剪映、Camtasia、爱拍剪辑、Adobe Premiere、Final Cut Pro、Vegas、快剪辑、爱剪辑、会声会影等,大部分都好用,收费和免费的都有。

但某些情况下,用这些 GUI 的剪辑软件有时不怎么方便,如:

  • 批量处理一批短视频(类似增加片头、片尾或 Logo 等同质性工作)、要将一批图片按照一定规则配音组织成视频等,如果还用现成的 GUI工具,不但枯燥无味,浪费时间,而且批量一个个处理下来不一定都非常精确(如在剪辑尾部 3 秒增加 Logo 标记或语音)
  • 基于某些目的进行视频的个性化定制处理,如基于视频的画面进行直方图均衡变换的灰度调整

这些情况下使用 GUI 工具进行处理会比较麻烦甚至无法支持,最希望的是能自己通过代码或脚本快速定制任务处理,将这些枯燥繁杂的工作快速准确的完成处理。这个时候 Python 的 Moviepy 库就可以大有可为了,下面老猿就为大家介绍一下 Moviepy 进行音视频剪辑的能力。

二、Moviepy 简介

MoviePy 是一个用于视频编辑的 Python 模块,可用于进行视频的基本操作(如剪切、拼接、标题插入)、视频合成(也称非线性编辑)、视频处理或创建高级效果。

它可以读写最常见的视频格式,MoviePy 能处理的视频是 ffmpeg 格式的,老猿理解支持的文件类型至少包括:*.mp4 *.wmv *.rm *.avi *.flv *.webm *.wav *.rmvb 等 。

MoviePy 使用 ffmpeg 读取、导出视频和音频文件,使用 ImageMagick 生成文本和输出 GIF 文件。Python 的快速数字库 Numpy 保证了不同媒体的处理。高级效果和增强使用了 Python 的许多图像处理库(PIL、Scikit-image、scipy 等)。

moviepy 的核心对象是剪辑(clips),包括 AudioClips 和 VideoClips。它们可以修改(剪切、减速、变暗…)或与剪辑混合以形成新剪辑,可以使用 PyGame 或 IPython Notebook 预览,并可以输出到对应类型的文件(如 MP4、GIF、 MP3 等)。例如,VideoClips 可以从视频文件、图像、文本或自定义动画创建。VideoClips 可以有一个音频轨道(这是一个 AudioClip)和一个 mask 遮罩(一个特殊的 VideoClip,指示当剪辑与其他剪辑混合时要隐藏哪些部分)。

三、Moviepy 安装

目前 moviepy 库最新版本是 1.0.3,安装非常简单,使用 pip 安装时,请将站点指向国内的镜像站点,否则下载很慢或者下载不下来,老猿使用清华的镜像,指令是:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple moviepy

注意:

1、moviepy 全小写,安装时会自动安装相关依赖包;

2、建议安装最新的版本 1.0.3,因为 1.0.2 中有个比较大的 bug;

3、如果没有安装最新版本,可以执行版本升级,指令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple moviepy --upgrade

四、音视频的加载和保存

一般音视频都是从文件读入的,视频文件的装载使用类 VideoFileClip 的构造方法,音频文件的装载使用类 AudioFileClip 的构造方法,两者都可以带多个参数,但最简单的调用方法就是传入一个文件名作为参数调用即可。

视频可以输出成其他格式视频、GIF 动画、一系列图片,对应输出函数分别为 write_videofile、write_gif、write_images_sequence,可以只带一个输出文件名参数。

注意:输出方法是 VideoFileClip 的父类 VideoClip 的方法。

另外视频文件通过属性 audio 获取视频的音频。音频可以使用 write_audiofile 输出成其他格式音频,该方法是 AudioFileClip 的父类 AudioClip 的方法。

当音频或视频输出需要转换格式时,注意一定要带 codec 参数。

下面代码加载一个视频和一个音频,然后输出成各种文件:

from moviepy.editor import *

    clipA = AudioFileClip(r"F:\video\fansNote.mp3")
    clipV = VideoFileClip(r"F:\video\rahdms.mp4")

    clipV.write_videofile(r"F:\video\temp\rahdmsBak.avi",codec='png') #视频转成avi格式输出
    clipV.audio.write_audiofile(r"F:\video\temp\rahdms.wav", codec='pcm_s16le') #视频中的音频转成wav格式输出

    clipV.write_gif(r"F:\video\temp\rahdms.gif") #视频输出成gif文件
    clipV.write_images_sequence(r"F:\video\temp\fansNote%02d.jpg",0.5) #视频输出成图片,0.5表示2秒输出一张图片
    clipA.write_audiofile(r"F:\video\temp\fansNoteBak.mp3") #音频输出到其他文件

五、音视频数据的访问

音视频剪辑在 Moviepy 中为 AudioClip、VideoClip 对象,对音视频剪辑数据的访问主要是通过 AudioClip、VideoClip 的父类 Clip 的相关属性进行的:

  • 剪辑时长 duration
  • 剪辑帧率 fps
  • 访问指定时刻位置的视频帧或音频帧的 get_frame 方法,语法:get_frame(self, t)
  • 调整剪辑时长的 set_duration 方法,语法:set_duration(self, t, change_end=True)
  • 调整剪辑帧率的 set_fps 方法,语法:set_fps(self, fps)
  • 获取剪辑的部分范围的子剪辑的 subclip 方法,语法:subclip(self, t_start=0, t_end=None)
  • 注意 subclip 方法用于从调用剪辑中取指定的剪辑段构造一个新剪辑对象返回,原剪辑保持不变。

下面代码加载一个视频和一个音频,然后输出剪辑的时长和帧率,并取两个剪辑的前 2 秒输出到对应文件:

from moviepy.editor import *

clipA = AudioFileClip(r"F:\video\fansNote.mp3")
clipV = VideoFileClip(r"F:\video\rahdms.mp4").subclip(0, 4)

print(f"视频剪辑时长以及帧率为:{clipV.duration}、{clipV.fps}")
print(f"音频剪辑时长以及帧率为:{clipA.duration}、{clipA.fps}")
clipV.subclip(0, 2).write_videofile(r"F:\video\temp\rahdms.avi",codec='png') #视频前2秒转成avi格式输出
clipA.subclip(0, 2).write_audiofile(r"F:\video\temp\fansNote.wav", codec='pcm_s16le') #音频前2秒转成wav格式输出

六、音视频变换

音视频的变换老猿将其分为 4 类,包括颜色变换、时间线变换、大小变换、内容变换。所有变换都是基于 Clip 类的 fl 方法来进行的,其他方法最终都要调用 fl 方法来完成剪辑变换。不过在 Clip 类内还提供了时间线的变换方法 fl_time,这是因为对音频和视频都可以基于时间线进行变换。

1、Clip 的 fl 方法

  • fl 方法是一个通用的剪辑处理方法,它返回一个新剪辑,新剪辑的所有帧是当前调用剪辑对象的帧经过函数 fun 变换处理后的帧
  • 调用语法:fl(self, fun, apply_to=None, keep_duration=True)
  • 示例代码:

下面的代码将一个 h 像素高剪辑的视频内容帧的下半部部分剪辑掉,newclip 剪辑的高度变为 h/2。

src = VideoFileClip(r"F:\video\抖音-爱拼才会赢.mp4")
h = src.size[1]
fl = lambda gf,t : gf(t)[int(t):int(t)+h/2, :]
newclip = src.fl(fl, apply_to='mask')
newclip.write_videofile(r"F:\video\抖音-爱拼才会赢_re.mp4"

2、Clip 的 fl_time 方法

  • fl_time 方法是基于时间线的变换,变换返回一个新剪辑,新剪辑是调用剪辑的一个浅拷贝,但新剪辑的时间线被调整,实际上这个方法就是对剪辑进行一个基于时间特效的处理,如快播、慢播、倒序播放等
  • 调用语法:fl_time(self, t_func, apply_to=None, keep_duration=False)
  • 示例代码:

下面的代码将剪辑变成原剪辑的 n 倍速:

 clipVideo = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4")
    end = clipVideo.end
    newclip = clipVideo.fl_time(lambda t:  t*n, apply_to=['mask','audio'])

3、剪辑颜色变换

剪辑的颜色或亮度变换函数包括:

  • blackwhite 将彩色视频变成灰度视频,语法:blackwhite(clip, RGB = None,
  • preserve_luminosity=True)
  • colorx 将剪辑中每个帧的每个像素的 RGB 值与参数 factor 相乘,使得明度增大(参数 factor 大于 1)或降低(参数factor 小于 1),语法:colorx(clip, factor)
  • fadein 使剪辑在开始播放后的指定时间内从某种颜色(默认为黑色)逐渐显示出来,语法:fadein(clip, duration, initial_color=None)
  • fadeout 函数使剪辑在剪辑快结束前的指定时间内逐渐淡隐于某种颜色(默认为黑色),语法:fadeout(clip, duration, final_color=None)
  • invert_colors 将像素对应颜色进行反转,语法:invert_colors(clip)
  • um_contrast 用于对剪辑的亮度对比度(luminosity-contrast )进行校正,语法:lum_contrast(clip, lum = 0, contrast=0, contrast_thr=127)
  • gamma_corr 用于对屏幕图像的色彩进行 gamma 修正,语法: gamma_corr(clip, gamma)

部分示例代码:

下面的代码是对视频剪辑加载后,将其明度乘以 2 和除以 2 分别生成 2 个新剪辑:

from  moviepy.editor import *
    clipVideo1 = VideoFileClip(r"F:\video\yyzg.mp4")
    clipVideo2 = clipVideo1.fx(vfx.colorx, 2)
    clipVideo1 = clipVideo1.fx(vfx.colorx, 0.5)

下面代码在剪辑首尾各设了 5 秒的淡入和淡出时间并输出变更后的新剪辑:

from  moviepy.editor import *
		clipVideo = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4").fx(vfx.fadein,5,(0,0,255)).fx(vfx.fadeout,5,(0,0,0))
        clipVideo.write_videofile(r"F:\video\fadeinout.mp4", threads=8)

4、剪辑大小变换

剪辑大小变换函数包括:

  • crop 函数从剪辑中获取一个矩形区域的剪辑内容作为新的剪辑,语法:crop( clip, x1=None, y1=None, x2=None, y2=None, width=None, height=None, x_center=None, y_center=None)
  • margin 函数在剪辑的四周增加一个外边框,语法:margin(clip, mar=None, left=0, right=0, top=0, bottom=0, color=(0, 0, 0), opacity = 1.0)
  • resize 函数用于调整剪辑的大小,包括缩小或放大,语法:resize(clip, newsize=None, height=None, width=None, apply_to_mask=True)

示例代码

下面的代码将剪辑的 260 行像素以上的部分去除,值保留 260 行以下的像素内容对应的视频,并将新剪辑增加一个 3 个像素的蓝色边框:

from  moviepy.editor import *
clipVideo = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4").fx(vfx.crop,0,260)
clipVideo = clipVideo.fx(vfx.margin, 3, color=(0, 0, 255), opacity=0.5)
clipVideo.write_videofile(r"F:\video\crop.mp4")

5、剪辑内容变换

剪辑内容变换函数包括:

  • headblur 函数将剪辑指定位置内容打马赛克,语法:headblur(clip,fx,fy,r_zone,r_blur=None)
  • mask_and 函数用于将两个遮罩剪辑的所有像素的 RGB 值各取最小值作为新剪辑的像素 RGB 值,语法:mask_and(clip, other_clip)
  • mask_or 函数与 mask_and 相对应,用于将两个遮罩剪辑的所有像素的 RGB 值各取最大值作为新剪辑的像素 RGB 值,语法:mask_or(clip, other_clip)
  • mirror_x 函数分别将剪辑内容左右颠倒,语法:mirror_x(clip, apply_to=“mask”)
  • mirror_y 函数分别将剪辑内容上下颠倒,语法:mirror_y(clip, apply_to=“mask”)
  • rotate 函数用于将剪辑逆时针旋转指定的角度或弧度语法:rotate(clip, angle, unit=“deg”, resample=“bicubic”, expand=True)
  • scroll 函数是实现在屏幕上水平或垂直滚动播放剪辑的内容,语法:scroll(clip, w=None, h=None, x_speed=0, y_speed=0, x_start=0, y_start=0, apply_to=“mask”)
  • supersample 函数返回一个新剪辑,新剪辑每个帧的像素值被替换为该帧前后时段范围内的多个等间距帧的算术平均值,语法:supersample(clip, d, nframes)

部分示例代码

下面的代码实现视频左右颠倒和上下颠倒:

from  moviepy.editor import *
clip = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4").crop(0, 300, 540, 660).subclip(0,15)

newclip1 = clip.fx(vfx.mirror_x)
newclip2 = clip.fx(vfx.mirror_y)
newclip1.write_videofile(r"F:\video\WinBasedWorkHard_mirrorx.mp4", threads=8)
newclip2.write_videofile(r"F:\video\WinBasedWorkHard_mirrory.mp4", threads=8)

下面的案例随时间线变换将视频内容旋转不同的角度,且将剪辑的的高和宽度调整为原剪辑对角线的大小,剪辑的画面内容不会丢失,旋转角度由 angleF 函数确认:

from  moviepy.editor import *
def angleF(t):
    ret = (10*int(t))%360

    return ret*-1
if __name__=='__main__':
    clip = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4",audio=False).crop(0, 300, 540, 840)

    newclip = clip.rotate(angleF,expand=True).fx(vfx.resize,(764,764))

七、剪辑合成

1、概述

音视频除了变换和取剪辑片段以外,还可以创造新剪辑,相关方法包括:

  • 将多个剪辑进行拼接或嵌入成同屏播放的新剪辑
  • 从图片文件生成剪辑
  • 生成一个指定颜色作为背景的剪辑
  • 自己构造数据生成剪辑

2、将多个剪辑拼接

视频的拼接使用方法 concatenate_videoclips,调用语法:

concatenate_videoclips(clips, method="chain", transition=None, bg_color=None, ismask=False, padding = 0)

其中 clips 为需要拼接的多个视频。

下面的案例代码将三个视频连接成一个视频:

from  moviepy.editor import *

fileList = ['F:\\video\\1.mp4', 'F:\\video\\2.mp4','F:\\video\\3.mp4']
tmpClip = []
for fileName in fileList:
    clip = VideoFileClip(fileName)
    tmpClip.append(clip)

destClip = concatenate_videoclips(tmpClip)
destClip.write_videofile("F:\\video\\dest.mp4")

3、多个剪辑同屏播放

同屏播放视频需要使用 clips_array 函数,调用语法如下:

clips_array(array, rows_widths=None, cols_widths=None, bg_color = None)

参数array为视频剪辑数组。

下面的案例代码将 tmpClip 保存的多个视频连接成一个同屏播放视频,其中 lines、columns 表示一个屏幕分成几行每行几个视频:

from  moviepy.editor import *

print(f"视频将排列成{lines}行{columns}列")
clipArrays = []
tmpClipArray = []
column = 0
for clip in tmpClip:
    tmpClipArray.append(clip)
    column += 1
    if column == columns:
        clipArrays.append(tmpClipArray)
        column = 0
        tmpClipArray = []
destClip = mpe.clips_array(clipArrays)

4、将一系列图像构造成视频

前面第三部分介绍的 write_images_sequence 方法用于将剪辑输出到一系列图像文件中,而 ImageSequenceClip 则基本上与 write_images_sequence 过程可逆,用于将一系列图像生成剪辑。

ImageSequenceClip 是 VideoClip 的直接子类,其构造方法语法为:

__init__(self, sequence, fps=None, durations=None, with_mask=True, ismask=False, load_images=False)

下面代码将 F:\temp\img 目录下的所有同样大小的图像合成一个每秒播放一个图像的剪辑:

imsClip = ImageSequenceClip(r"F:\temp\img",fps=1)

 imsClip.write_videofile(r"F:\video\imgs.mp4", threads=threads)

5、其他几种生成视频方法简介

  • ImageClip 是 VideoClip 的直接子类,用于生成固定不变的视频剪辑。ImageClip

是从一个图像文件或内存中图像数组数据生成的视频剪辑,对应视频任何时候都是显示该图像
DataVideoClip 是 VideoClip 的直接子类,它的视频剪辑的连续帧都是从一系列数据集经过函数处理生成的,因此 DataVideoClip 其实就是通过数据集经函数处理构造的视频剪辑
ColorClip 是仅显示同一种颜色的剪辑
TextClip 用于生成文本剪辑,对应剪辑内容来自于指定文本或文本文件

部分示例代码:

生成一副红色背景的静态视频:

colClip = ColorClip((360,360),color = (255,0,0),ismask=False,duration=5).set_fps(1)
colClip.write_videofile(r"F:\video\red.mp4", codec='mpeg4')

生成一文字构成的视频:

fps = 3
inf = r"text clip test"
txtclip = TextClip(inf ,font='Courier',fontsize=36,color='red',bg_color='white',transparent=True,tempfilename=r'F:\temp\img\txtjpg.png',remove_temp=False).set_duration(15).set_fps(3)
txtclip.write_videofile(r"F:\video\text.avi", codec='rawvideo', threads=threads)

八、小结

本文介绍了 Python Moviepy 音视频剪辑库的安装、主要功能以及部分示例代码,可以看到 Moviepy 能从文件或音视频流中装载音视频剪辑,并对装载的音视频剪辑进行各种变换和合成,代码开发简单易懂,很容易掌握,感兴趣的朋友不妨尝试一下。

更多关于 Moviepy 的介绍请大家参考《Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载》。

到此这篇关于用 Python 快速入门音视频剪辑的文章就介绍到这了,更多相关Python音视频剪辑内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python基于moviepy实现音视频剪辑

    目录 实践步骤 完整代码 参考 实践步骤 1.寻找合适的Python库(安装是否麻烦.使用是否简便.执行会不会太久) moviepy 音视频库.分析需要用的API:代码示例 2.定义输入输出 输入:一个音视频文件的地址,需要剪出来的时间段 输出:剪辑片段的文件 3.设计执行流程并一步步实现(定义函数,与使用具体API相关) 读入并创建clip对象. 剪辑subclip,输入时间参数可以是时间格式的字符串. 导出write_videofile. 4.结论:时间太久,片段多长就花了多久的时间:CPU

  • MoviePy简介及Python视频剪辑自动化

    视频地址:https://www.bilibili.com/video/BV1mv411k7Qv?p=1 moviepy是啥 MoviePy是一个用于视频编辑的Python模块. 可用于基本操作(如剪切.拼接.字幕插入).视频合成.视频处理或创建高级效果等. 它可以读写最常见的视频(甚至GIF).音频格式. 在一定程度上,它可以取代Premiere. moviepy能做啥 批量加片头.片尾 比如你有一堆已经做好的视频,你想给它们加上片头,但不想用PR一个个地处理: 轻松从MV中提取音乐 比如你有

  • 如何利用python操作注册表

    注册表是windows管理配置系统运行参数的一个核心数据库.在这个数据库里整合集成了全部系统和应用程序的初始化信息:其中包含了硬件设备的说明.相互关联的应用程序与文档文件.窗口显示方式.网络连接参数.甚至有关系到计算机安全的网络共享设置 . 1.读取 读取用的方法是OpenKey方法:打开特定的key winreg.OpenKey(key,sub_key,res=0,sam=KEY_READ) 例子:此例子是显示了本机网络配置的一些注册表项 import winreg key = winreg.

  • MoviePy常用剪辑类及Python视频剪辑自动化

    视频地址:https://www.bilibili.com/video/BV1mv411k7Qv?p=4 导入方式 所有的剪辑类都可以从moviepy.editor模块中导入 Clip 所有剪辑类的基类, 也可以简单的将它称为: VideoClip 所有视频剪辑的基类, 可以简单的将它称为: 很少用, 除非你要从零开始一帧一帧地构建视频. VideoFileClip 最常用的视频剪辑类, 用于导入视频文件(mp4.avi等格式皆可) ImageClip 常用的剪辑类, 用于导入图片文件(png.

  • Python竟然能剪辑视频

    大家好,我是辰哥. 辰哥之前就想着Python可不可以剪辑视频(提取视频的音频,视频截取等等),然后辰哥在网上一搜,还真找到了Python的一个处理音频的库-MoivePy MoivePy能干嘛呢,下面辰哥来给大家简单介绍一下. 提取音频 视频截取 视频合并 视频叠加 添加字幕 追踪人脸,打马赛克 炫酷的特效 阴影效果 ....... 01提取音频 平时我们在刷短视频或者看到一些视频的时候(视频里才有,网上搜不到这种剪辑的音频时),希望能够把视频里面的音频提取出来当背景音乐或者想平时听听但是不想

  • Python 音视频剪辑快速入门教程

    目录 一.引言 二.Moviepy 简介 三.Moviepy 安装 四.音视频的加载和保存 五.音视频数据的访问 六.音视频变换 1.Clip 的 fl 方法 2.Clip 的 fl_time 方法 3.剪辑颜色变换 4.剪辑大小变换 5.剪辑内容变换 七.剪辑合成 1.概述 2.将多个剪辑拼接 3.多个剪辑同屏播放 4.将一系列图像构造成视频 5.其他几种生成视频方法简介 八.小结 一.引言 在这个短视频和自媒体大行其道的年代,音视频剪辑成为了大佬们的必备工具,现在有很多音视频剪辑的软件,如剪

  • Python OpenCV快速入门教程

    OpenCV OpenCV是计算机视觉中最受欢迎的库,最初由intel使用C和C ++进行开发的,现在也可以在python中使用.该库是一个跨平台的开源库,是免费使用的.OpenCV库是一个高度优化的库,主要关注实时应用程序. OpenCV库是2500多种优化算法的组合,可用于检测和识别不同的人脸,实时识别图像中的对象,使用视频和网络摄像头对不同的人类动作进行分类,跟踪摄像机的运动,跟踪运动对象(例如汽车,人等),实时计数对象,缝合图像来产生高分辨率图像,从图像数据库中查找相似的图像,从使用闪光

  • Blender Python编程快速入门教程

    目录 Blender Python 编程 数据访问 访问集合 访问属性 数据创建/删除 自定义属性 上下文 Context 运算符 Operators (Tools) Operator Poll() 将 Python 集成到 Blender 的方式 示例运算符 示例面板 数据类型 原生类型 内部类型 Mathutils 类型 动画 Blender Python 编程 支持的特性: 编辑用户界面可以编辑的任何数据(场景,网格,粒子等). 修改用户首选项.键映射和主题. 使用自己的设置运行工具. 创

  • ReactJs快速入门教程(精华版)

    现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领略ReactJs的风采吧~~ 文章有点长,耐心读完,你会有很大收获哦~   一.ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西

  • Jupyter notebook快速入门教程(推荐)

    本文主要介绍了Jupyter notebook快速入门教程,分享给大家,具体如下: 本篇将给大家介绍一款超级好用的工具:Jupyter notebook. 为什么要介绍这款工具呢? 如果你想使用Python学习数据分析或数据挖掘,那么它应该是你第一个应该知道并会使用的工具,它很容易上手,用起来非常方便,是个对新手非常友好的工具.而事实也证明它的确很好用,在数据挖掘平台 Kaggle 上,使用 Python 的数据爱好者绝大多数使用 jupyter notebook 来实现分析和建模的过程,因此,

  • Unity3D快速入门教程

    Unity3D游戏引擎介绍 Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎.使用Unity3D,开发者可以快速的开发出游戏.Unity3D引擎占据了游戏引擎市场45%的份额,居全球首位.因此,学习游戏开发,Unity3D的人才需求量最为庞大. Unity3D学习历程 俗话说,万事开头难.Unity3D的学习历程也是一样.学习Unity3D,大致分为以下

  • Python pyecharts模块安装与入门教程

    目录 pyecharts产生背景 一.pyecharts模块安装 二.pyecharts入门 1.基础折线图 2.pyecharts配置选项 pyecharts产生背景 Echarts是由百度开源的数据可视化,凭借良好的交互性和精巧的图表设计,得到众多开发者的认可,而python很适合用于数据处理,数据分析遇到数据可视化时pyecharts就产生了. 官网链接:https://pyecharts.org/#/ 画廊pyecharts-gallery pyecharts支持的图表众多,官方提供了画

  • Python中Scrapy框架的入门教程分享

    目录 前言 安装Scrapy 创建一个Scrapy项目 创建一个爬虫 运行爬虫 结论 前言 Scrapy是一个基于Python的Web爬虫框架,可以快速方便地从互联网上获取数据并进行处理.它的设计思想是基于Twisted异步网络框架,可以同时处理多个请求,并且可以使用多种处理数据的方式,如提取数据.存储数据等. 本教程将介绍如何使用Scrapy框架来编写一个简单的爬虫,从而让您了解Scrapy框架的基本使用方法. 安装Scrapy 首先,您需要在您的计算机上安装Scrapy框架.您可以使用以下命

  • jQuery Easyui快速入门教程

    1.什么是JQuery EasyUI jQuery EasyUI是一组基于JQuery的UI插件集合,而JQueryEasyUI的目标就是帮助开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的JavaScript,也不需要对css样式有深入的了解,开发者需要了解的只是一些简单的html标签. 2.学习jQuery EasyUI的条件 因为JQueryEasyUI是基于jQuery的UI库,所以,必须需要JQuery课程的基础. 3.JQuery EasyUI的特点 基于JQu

随机推荐