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中,内置的数据结构都有一个…

成功解决: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: ​​ #算法公开课 《代码随想录》算法视频公开课…

领域驱动设计架构演进

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

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,本文主要内容如下: 对东方财富官网进行分析,并作数据爬取,使…

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

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:高阶数据结构专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多Go语言知识   🔝🔝 高阶数据结构 1. 前言2. 图的基…

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

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

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

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

并发问题系统学习(更新中)

进程、线程 进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。可以理解为一个java应用。 线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。…

C++笔试强训day15

目录 1.平方数 2.分组 Check函数的具体实现&#xff1a; 3.拓扑排序 1.平方数 链接 数学找规律&#xff0c;找离 x 最近的完全平方数 y。 先开平方根再利用四舍五入进位即可。 详细代码&#xff1a; #include <cmath> #include <iostream> using namespac…

【吊打面试官系列】Java高并发篇 - 你对线程优先级的理解是什么?

大家好&#xff0c;我是锋哥。今天分享关于 【你对线程优先级的理解是什么&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 你对线程优先级的理解是什么&#xff1f; 每一个线程都是有优先级的&#xff0c;一般来说&#xff0c;高优先级的线程在运行时会具有优先…

基于C语言中的类型转换,C++标准创造出了更加可视化的类型转换

目录 前言 一、 C语言中的类型转换 二、为什么C需要四种类型转换 三、C中新增的四种强制类型转换操作符以及它们的应用场景 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast 前言 在C语言中&#xff0c;如果赋值运算符左右两侧的类型不同&#xff0c;或者…

新书速览|图神经网络基础、模型与应用实战

掌握PyTorch图神经网络基础与模型&#xff0c;实战自然语言处理、计算机视觉、推荐系统、社交网络应用开发 01 本书内容 图神经网络不仅能够解决传统机器学习方法无法解决的图数据问题&#xff0c;而且能够应用于许多实际场景&#xff0c;例如社交网络、药物发现、网络安全、…

Yii2 自动生成php代码

文档地址&#xff1a;入门&#xff08;Getting Started&#xff09;: 用 Gii 生成代码&#xff08;Generating Code with Gii&#xff09; - Yii 2.0 权威指南 - 文档 - Yii Framework 中文网 找到配置文件&#xff0c;以我的项目为例&#xff1a; 因为的是开启了路由美化所以访…

【前端热门框架【vue框架】】——对组件进行更加简洁合理的处理和解释(一)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;程序员-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

YOLOv5独家原创改进: 通用倒瓶颈(UIB)搜索块结合C3二次创新 | 轻量化之王MobileNetV4

💡💡💡创新点:轻量化之王MobileNetV4 开源 | Top-1 精度 87%,手机推理速度 3.8ms,原地起飞! 最主要创新:引入了通用倒瓶颈(UIB)搜索块,这是一个统一且灵活的结构,它融合了倒瓶颈(IB)、ConvNext、前馈网络(FFN)以及一种新颖的额外深度可分(ExtraDW)变体技…