Julia编程语言基本语法

1、Julia读取/保存csv数据
读取:

using CSV
df = CSV.read("mydata.csv")

保存为csv格式:

# 创建 DataFrame
df = DataFrame(height = h, discharge = q)
# 将 DataFrame 写入 CSV 文件
CSV.write("output.csv", df)

报错:UndefVarError: writeshortest not defined
解决:https://discourse.julialang.org/t/csv-write-writeshortest-error/90336/8
Converting the entire data frame content into string type:CSV.write(“temp.csv”,string.(df))
或者更新CSV版本。

文件读写常用函数:
在这里插入图片描述在这里插入图片描述
截图来自菜鸟教程:
Julia 文件(File)读写

加载和保存文件:https://cn.julialang.org/JuliaDataScience/load_save

2、Julia路径拼接函数

using CSV# 定义文件路径
directory = "path/to/directory"
filename = "file.csv"
#表示路径的两种方式:注意双引号
#path = "C:\\Users\\Username\\Documents\\file.txt",用\\
#path = "C:/Users/Username/Documents/file.txt",用/
#不支持类似Python中r转字符# 拼接文件路径
filepath = joinpath(directory, filename)# 读取CSV文件
data = CSV.read(filepath,DataFrame)# 打印数据
println(data)

3、表示一列数据最大值和最小值

struct Datawl::Vector{Float64}
enddata = Data([3.0, 1.0, 4.0, 1.0, 5.0])  # 示例数据h = data.wlmax_h = maximum(h)
min_h = minimum(h)println("h的最大值:", max_h)
println("h的最小值:", min_h)

4、Julia自定义函数并调用

# 定义一个简单的函数
function greet(name)println("Hello, $name! Welcome to Julia programming!")
end# 调用函数
greet("Alice")

实际应用场景:

function estimated_discharge(rc, h)return discharge(rc, minimum(h))
end# 示例数据
h = [1.0, 2.0, 3.0, 4.0, 5.0]  
rc = 0.5  estimated_discharge_values = Float64[]  # 用于存储计算结果的数组for height in hpush!(estimated_discharge_values, estimated_discharge(rc, [height]))#push!是用于向数组(Array)添加元素的函数。当你调用push!(array, element)时,它会将element添加到array的末尾,并返回修改后的数组。#push!函数会改变原始数组,而不是创建一个新的数组。这种操作称为“原地修改”(in-place modification)。
endprintln(estimated_discharge_values)

5、Julia循环语句

for 变量名 in 集合循环体
end

应用:for循环遍历一个文件夹下所有的csv文件

using CSV# 定义文件夹路径
folder_path = "path_to_your_folder"# 获取文件夹中所有文件的列表
files = readdir(folder_path)# 遍历文件夹中的所有文件
for file in filesif endswith(file, ".csv")# 如果文件是CSV文件,则读取文件内容data = CSV.read(joinpath(folder_path, file))# 在这里可以对数据执行任何操作println("处理文件: $file")# 例如,打印数据的前几行println(data[1:3, :])end
end

6、Julia Try-Catch语句

try# 尝试执行的代码块# 如果出现异常,代码将跳转到catch块之后的代码println("尝试执行代码块")error("这里出现了一个异常")
catch# 这里是在出现异常时需要执行的代码块,如果不需要处理异常,可以留空println("出现异常,跳过处理")
endprintln("程序继续执行")

学习资料整理:
1、菜鸟教程:https://www.runoob.com/julia/julia-tutorial.html
2、Julia中文社区:https://cn.julialang.org/JuliaDataScience/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/8791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ruby中的字符串转换方法

在Ruby中,你可以使用各种方法来转换字符串。下面是一些常用的方法,当然选择哪种适用的方法还得更具具体项目来做调整。日常使用中下面的错误也是比较常见的,看看我们怎么处理哈。 1、问题背景 在Python中,内置的数据结构都有一个…

统计中的oracle和population什么意思?

oracle 在统计学的上下文中,“oracle” 这个词并不是一个标准术语,至少不像在数据库技术中那样具有特定且广泛认可的定义。不过,“oracle” 一词在一般意义上指的是提供智慧、知识或绝对正确答案的源头,源于古希腊宗教中能够传达…

成功解决:Could not install packages due to an OSError

成功解决:Could not install packages due to an OSError: 错误: ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: C:\Users\XIAODA~1\AppData\Local\Temp\pip-install-yeyhod79\opencv-contribpython_fb…

C++:位图和布隆过滤器

一,位图 1.1 位图的概念 究竟什么是位图呢??我们用一道问题来引入 问题:给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在 这40亿个数中。【腾讯】 根据这个问题&#x…

通俗易懂讲解 nginx-rtmp-module 是干嘛的?

文章目录 概述安装 nginx 和 nginx-rtmp-module配置 Nginx启动 Nginx使用示例推流拉流转码鉴权与安全自动录制 概述 nginx-rtmp-module 是一个用于 Nginx 的第三方模块,它扩展了 Nginx 服务器的功能,使其能够处理实时流媒体数据,特别是支持 …

【LeetCode】环形链表I 环形链表II

一、环形链表I 题目 思路 该题使用快慢指针 slow、 fast slow 走一步 ,fast 走两步 当fast 走到空 或者 fast的下一个结点为空, 则无环 fast若追上slow , 则有环 结论证明 该思路默认了 : 若存在环形链表 , 无论…

代码随想录算法训练营第二十一天:树树树

代码随想录算法训练营第二十一天:树树树 ‍ 513.找树左下角的值 力扣题目链接​**(打开新窗口)** 给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: ​​ 示例 2: ​​ #算法公开课 《代码随想录》算法视频公开课…

领域驱动设计架构演进

领域驱动设计由于其强调对领域的深入理解和关注业务价值,其架构演进依赖于领域的变化和特定领域中的技术实践。 初始阶段 一个单体架构,所有的功能都集成在一个应用程序中,领域模型可能还不完全清晰,甚至并未形成。这个阶段主要是为了验证产品的可行性,快速迭代并尽快推…

ChatGPT使用指南——句词分类

Table of Contents ChatGPT使用指南——句词分类 1. NLU基础 1.1 句子级别的分类1.2 Token级别的分类2. 相关API 2.1 LMAS GPT API2.2 ChatGPT Style3. NLU应用 3.1 文档问答3.2 分类/实体微调3.3 智能对话相关文献ChatGPT使用指南——句词分类 1. NLU基础 NLU是Natural Langu…

OpenCV单窗口并排显示多张图片

OpenCV单窗口并排显示多张图片 效果代码 PS:本例的代码适合图片的宽度和高度都相同。 效果 原始三张图片: 合并显示: 代码 import cv2 import numpy as npdef opencv_multi_img():# 读取图片img1 cv2.imread(saw_1.jpeg)img2 cv2.im…

机器学习理解梯度

一、在机器学习领域,模型的参数是指在训练过程中需要学习的变量,例如神经网络中的权重和偏置。这些参数的调整是通过优化算法来实现的,而梯度是这个优化过程中的关键概念之一。 二、模型参数之间的差异通常不直接称为梯度,而是用…

【爬虫】爬取A股数据写入数据库(二)

前几天有写过一篇 【爬虫】爬取A股数据写入数据库(一),现在继续完善下,将已有数据通过ORM形式批量写入数据库。 2024/05,本文主要内容如下: 对东方财富官网进行分析,并作数据爬取,使…

代码随想录算法训练营day62

503.下一个更大元素II 思路&#xff1a; 循环数组中得到元素下一个比它大的值&#xff0c;那么可以将两个本数组拼接&#xff0c;遍历即可。按照739. 每日温度的方法&#xff0c;在拼接数组中进行寻找。 class Solution { public:vector<int> nextGreaterElements(vect…

【高阶数据结构(二)】初识图论

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:高阶数据结构专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Go语言知识   &#x1f51d;&#x1f51d; 高阶数据结构 1. 前言2. 图的基…

【数据库】Elasticsearch的操作

在关系数据库和Elasticsearch之间&#xff0c;对基本概念和数据结构的理解对于使用两者进行有效的数据操作非常关键。下面是关系数据库和Elasticsearch之间的基本概念比较&#xff0c;包括实际的应用例子&#xff1a; 对比数据库的概念 数据库与索引 关系数据库 在关系数据…

LED显示屏控制器5个问题和解答

在LED电子显示屏的使用和维护过程中&#xff0c;用户经常会遇到各种技术问题。以下是五个关于LED电子显示屏控制器的常见问题及其解答&#xff0c;由专业LED显示屏生产厂家提供&#xff0c;旨在帮助用户更好地理解和使用LED显示屏。 1. 嵌入式实时脱机二合一控制器的工作原理 嵌…

SpringCloud Alibaba Sentinel 修改Dashboard用户名和密码

目录 一、下载Sentinel的Jar包 二、在启动时修改用户名和密码的命令 三、测试登录成功 在网上找到了一大堆文章&#xff0c;没一个有用的&#xff0c;最终还是通过不断测试找到了这个方法。 一、下载Sentinel的Jar包 Releases alibaba/Sentinel GitHub 二、在启动时修改…

二分优化dp,LeetCode 1235. Maximum Profit in Job Scheduling

目录 一、题目 1、题目描述 2、接口描述 python3 cpp 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 python3 cpp 一、题目 1、题目描述 We have n jobs, where every job is scheduled to be done from startTime[i] to endTime[i], obtaining a p…

论UML在学情精准测评系统中的应用

摘要简介 项目背景&#xff1a; 随着教育改革的不断深入&#xff0c;对学生学情的精准测评成为教育教学工作中的重要环节。为了解决传统学情测评方式主观性强、效率低、反馈不及时等问题&#xff0c;我们团队受教育主管部门委托&#xff0c;承担了中小学学情精准测评系统&…

数据分析层的功能特点和应用

数据分析层在基于大数据的医疗信息化系统中扮演着至关重要的角色,其功能特点和应用主要体现在以下几个方面: 一、功能特点 数据处理能力:数据分析层具备强大的数据处理能力,能够处理来自不同来源、格式和结构的医疗数据。这包括数据清洗、转换、整合和标准化,以确保数据的…