学习笔记,仅供参考,有错必纠

参考自:Julia数据科学应用–Zacharias Voulgaris


前言: 由于数据的快速增长,数据科学必须利用各种工具的强大功能来应对大数据的挑战。因为数据科学的一大部分任务就是运行脚本来处理规模庞大、结构复杂的数据集(通常被称为“数据流”),所以一门高性能的编程语言对于数据科学来说不是奢侈品,而是必需品。


Julia初识

关于Julia

  • 简介

Julia是一门设计用来进行技术计算的编程语言,它计算速度快,易于使用,并内置了许多数据处理工具。尽管它还处于初级阶段,那些对它进行了充分测试的人们已经感受到了它的巨大潜力,并确信它在技术计算和数据科学领域内有很大的用武之地。

  • 优点

极其卓越的性能。Julia在很多数据分析任务以及其他编程实践中都表现出了令人难以置信的性能。它的表现可以和C语言媲美,C语言经常被用来作为衡量运算速度的标准。

强大的基础库。Julia有一个强大的基础库,它不需要其他平台,就可以进行所有的线性代数运算,这些运算是数据分析模块的必备组件。

支持多分派。Julia实现了多分派机制,这使它可以使用同一种函数实现不同的过程,使函数更容易扩展,并可以对不同类型的输入重复使用。

容易上手。特别是对于那些从Python、R、Matlab迁移过来的使用者,学习Julia特别容易。

用户友好的界面。不论是在本地还是云上,Julia的用户界面都非常友好,在所有的流程中,用户与Julia的交流都非常顺畅。Julia还对所有的功能和数据类型提供了方便易用的帮助文件。

与其他语言无缝对接。这些语言包括(但不限于)R, Python和C,这使我们不需要进行完整的迁移,就可以使用现有的代码库。

开源。Julia以及它的所有文档与教程都是开源的,非常易于获取,详尽而又全面。

开发者承诺。Julia的开发者承诺会一直加强这门语言的性能,并对使用者提供尽可能的帮助。他们提供了大量的讨论,组织年度会议,并提供咨询服务。

自定义函数。Julia的自定义函数可以和内置在基础代码中的函数一样快速而简洁。

并行能力。Julia具有强大的并行能力,这使得在多核计算机和集群上的部署非常容易。

极大的灵活性。Julia在开发新程序方面极其灵活,不论是编程新手,还是专家级用户,Julia适合各种编程水平的使用者,这个特性在其他语言中是很难得的。

Julia的安装与下载

  • 下载(Windows)

进入Julia官网的下载页面 https://julialang.org/downloads/,这里我选择最新的一版进行下载:

下面还有长期支持版本:

下载好后安装Julia,这里,我就不演示了,因为我已经装好了。

配置路径

我们首先配置Julia的环境变量。

打开【我的电脑】–> 【属性】–>【高级系统配置】–>【环境变量】,在系统变量中添加JULIA_HOME,并在其中填入Julia安装路径:

再将%JULIA_HOME%添加进Path中,并在末尾添加\bin;

OK!

我们在cmd中启动Julia:

Very Well !

实战

现在,我们就来敲几行代码,读取一个csv文件吧!

  • 获取及设置工作路径
julia> pwd()
"C:\\Users\\goatbishop"julia> cd("C:\\Users\\goatbishop\\Desktop\\data")
  • 读取csv文件
julia> f = open("score.csv", "r")
IOStream(<file score.csv>)julia> lines = readlines(f);julia> close(f)julia> lines
11-element Array{String,1}:",V1,V2,V3""2018,0.062398338,0.00096084,0.01760755""2017,0.055576782,0.002088041,0.015069804""2016,0.047872633,0.001896813,0.011671911""2015,0.041018385,0.002553234,0.00875396""2014,0.036894566,0.00348739,0.007299458""2013,0.029736679,0.004827159,0.008059326""2012,0.024377832,0.007115883,0.009060407""2011,0.017668678,0.009530017,0.007540419""2010,0.008402008,0.011293795,0.004592761""2009,0.000366857,0.009089361,0.001197243"

上面的代码会将我们的文本文件score.csv加载到IO对象f中,readlines则会将整个文件中的内容分割为字符串,并返回一个字符串数组作为输出,close则是关闭IO流。

我们利用下面这些代码,对文件一行一行的进行解析:

julia> f = open("score.csv", "r")
IOStream(<file score.csv>)julia> for line in eachline(f)println(line)end
,V1,V2,V3
2018,0.062398338,0.00096084,0.01760755
2017,0.055576782,0.002088041,0.015069804
2016,0.047872633,0.001896813,0.011671911
2015,0.041018385,0.002553234,0.00875396
2014,0.036894566,0.00348739,0.007299458
2013,0.029736679,0.004827159,0.008059326
2012,0.024377832,0.007115883,0.009060407
2011,0.017668678,0.009530017,0.007540419
2010,0.008402008,0.011293795,0.004592761
2009,0.000366857,0.009089361,0.001197243julia> close(f)

OK!

探索Julia(part1)--Julia初识相关推荐

  1. Julia ---- 为Julia做一下辩解

    我写这篇文章的主要目的就是为了给我喜欢的Julia语言一辩,并且指出人们对Julia语言的几个常见的误区. 预警:文章非常长,所以需要希望入坑的人有耐心阅读 文章内容 1.常见误区 2.重新认识Jul ...

  2. OpenGL Julia Fractal(Julia分形)的实例

    OpenGL Julia Fractal分形 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <cmath> #include < ...

  3. java调用julia脚本,Julia请求脚本中的用户输入

    如何从Julia中运行的脚本请求用户输入? 在MATLAB中,我会这样做: result = input(prompt) 谢谢 最简单的事情是readline(stdin). 这就是你要找的东西吗? ...

  4. 【Julia】Julia v1.5.1 更改Pkg存放位置

    Julia的Pkg下载包默认下载到user目录下的.julia,可能会导致C盘占用过大,建议更改存放路径. 做法是:设置一个环境变量,名为:JULIA_DEPOT_PATH,值为:你需要的路径.

  5. 【Julia】Julia使用Pkg下载镜像配置问题解决方案

    背景 这篇文章描述问题的前提是: 已经熟悉Julia库的下载和使用 考虑到C盘空间的问题,我将Julia的安装路径调到了D盘 报错描述 大致是: ERROR: SystemError: opening ...

  6. Julia(一)--Julia变量

    Julia专为科学计算而生,想要取代Python.Ruby.matlab等,抱着这样的好奇心先试试水,顺便记录自己的学习过程.这是一系列博客,不断更新中. 文章目录 Julia的变量声明 Julia的 ...

  7. pymysql(part1)--pymysql初识之检索/增加/更新/删除数据

    利用python调用pymysql来对数据库进行操作. 首先在cmd中查看我们将要操作的数据表infor: 查看infor表列的定义: 现在使用pymysql对mysql进行操作. (一)  SELE ...

  8. 探索Julia(part10)--自定义函数

    学习笔记,仅供参考,有错必纠 参考自:Julia数据科学应用–Zacharias Voulgaris:官方文档 使用Julia-1.1.1 自定义函数 Functions 在Julia中,函数是将参数 ...

  9. redis生产环境持久化_在SageMaker上安装持久性Julia环境

    redis生产环境持久化 SageMaker is a great environment for data scientists to explore new languages and metho ...

最新文章

  1. R语言使用car包的scatterplot函数根据分组变量在不同的分组拟合不同的模型并在散点图中可视化每个分组的拟合曲线、并添加边缘箱图
  2. 拦截器获取请求参数post_「SpringBoot WEB 系列」RestTemplate 之自定义请求头
  3. python中ifelifelse用在什么结构_详解Python if-elif-else知识点
  4. 文件上传漏洞——upload-labs(11-20)
  5. 用VS2017开发安卓应用
  6. ajax与后台php,怎么在thinkPHP5中使用ajax实现与后台数据交互
  7. 软件测试之缺陷报告的BUG状态
  8. 计算与推断思维 十七、更新预测
  9. 随机获取图片的api接口
  10. 只需5分钟-----手把手教你如何注册美国AppleId账号
  11. 计算机考试宏的录制,最新版本:鼠标和键盘录制工具(宏录制器)
  12. 游戏源代码是什么意思_什么是游戏
  13. 梦三国解析服务器spl文件头失败怎么解决,梦三国 卡顿问题的解决方法
  14. html5的video在IOS端默认全屏和黑屏问题
  15. 关于如何连接网络打印机
  16. Hudi Clean 清理文件实现分析
  17. 手动清除jwgkvsq.vmx病毒
  18. Excel VBA:设置图表系列格式
  19. 浅入浅出LuaJIT
  20. typeAliasesPackage的作用

热门文章

  1. 阿里云ECS在CentOS 6.9中使用Nginx提示:nginx: [emerg] socket() [::]:80 failed (97: Address family not supported
  2. Jpeglib使用指南, 各种压缩包的压缩和解压方法, 开源社区分裂史
  3. GitHub, Google Code, and other
  4. Maven仓库搭建(二):GitHub、又拍云、七牛云存储
  5. Java的回调机制--学习笔记
  6. 微软Power BI技术文章与资源目录
  7. CSS/Compass修改placeholder的文字样式
  8. 【闲聊产品】之七:投票真的有用么?
  9. 理解并实施:GLBP(ccna200-120新增考点)
  10. No result defined for action action.QueryAction and result result