与Python相比,在Julia中读取csv的速度较慢

与Python相比,在Julia中读取大型文本/csv文件需要很长时间。下面是读取大小为486.6 MB、包含153895行和644列的文件的时间 Python3.3示例 import pandas as pd import time start=time.time() myData=pd.read_csv("C:\\myFile.txt",sep="|",header=None,low_memory=False) print(time.time()-start) Output: 19.90

导入模块并在julialang中使用

由于没有太多关于模块的信息,我想问以下问题 我想通过ijulia尝试两个模块。这两个模块都在我的工作目录中 name-of-files.jul。我将它们统称为模块1.jul和模块2.jul 模块1.jul使用模块2.jul,我用 using module_2 在ijulia会话中,如果我尝试 using module_1 给出了一个错误。我也试过了 include("module_1.jul") 最后一句执行时会出现错误,因为模块_1.jul无法找到 我知道的变量“x”包含在模块_1.ju

Julia 数据框字符串列的日期格式设置

有没有办法做到这一点(这是在R中) df$dataCol有一个Date构造函数,其中包含一个格式参数, 但语法略有不同 using Dates Date( "20141123", DateFormat("yyyymmdd") ) 这是完成我问题第一部分的最佳方式吗 using Dates dateReported = map((x) -> string(x), df[:DateReported]) df[:DateOccurred] = map((x) -> if match(r"

如何在Julia回溯中显示调用方?

有没有办法为Julia函数的调用者获取文件/名称/行信息 我找到了,如果调用方是另一个函数(但不是主上下文),我会得到文件:line info: module pd global g_bTraceOn = true export callerOfTraceIt function callerOfTraceIt() traceit( "hi" ) ; end function traceit( msg ) global g_bTraceO

Julia中的命令超时 我有一个朱丽亚脚本,反复调用C++程序来执行优化。C++程序编写一个文本文件,然后我让朱丽亚读结果,然后决定下一步该怎么做。问题是,偶尔(也许在1000次+ 1次)C++程序冻结(优化可能被卡住),我的整个脚本无限期地挂起,使脚本很难通过所有必要的程序调用。有没有办法添加一个超时,这样如果程序在10分钟内没有完成,我就可以用一个新的猜测值重新启动

简化示例: for k = 1:10 run(`program inputs`) end 期望的: max_runtime = 10*60 # 10 minutes for k = 1:10 run(`program inputs`,max_runtime) end 备选方案: max_runtime = 10*60 # 10 minutes for k = 1:10 deadline(function,max_runtime) end 比如说: max_runti

Julia 如何为闭包中的变量提供类型?

我想生成一个函数f,它将变量a保持在其闭包中,如下所示: function g(a::Vector{Int}) gf = quote x = $a function test() b = 0 for i in eachindex(x) b += i end b end end eval(gf)

Julia表达式中的列表式扩展?

在Julia中构建复杂表达式时,是否可能有类似列表理解的功能 例如,假设我有一些符号和类型,并希望从中构建一个类型。现在,我必须做一些类似的事情 syms = [:a, :b, :c] typs = [Int, Float32, Char] new_type = :(type Foo end) new_type.args[3].args = [:($sym::$typ) for (sym,typ) in zip(syms,typs)] 这是因为new\u type是一个包含 :(type Fo

Julia中极小值的位置

Julia是否有内置命令来查找向量最小值的索引?R、 例如,有一个which.min命令(当然还有一个which.max) 显然,我可以自己写下面的内容,但如果不用写就好了 function whichmin( x::Vector ) i = 1 min_x=minimum(x) while( x[i] > min_x ) i+=1 end return i end 如果以前有人问过,我会道歉,但我找不到。谢谢 我相信indmax(itr)能满足你的需求。

Julia Plots.jl中具有对数y轴的直方图

我尝试了以下方法: using Plots.jl; gr() histogram(randn(1000),yaxis=(:log10)) 它会产生以下错误 Error showing value of type Plots.Plot{Plots.GRBackend}: ERROR: At least one finite value must be provided to formatter. in showoff(::Array{Float64,1}, ::Symbol) at /User

在具有条件的Julia数组中更好地执行对多个索引的访问

我在某处读到,在Julia中,循环操作比向量化操作表现更好。然而,我一直在使用类似于R的数组/数据帧索引,我不知道它是如何实现的。当我的阵列很大时,我也看不到改进它的直接解决方案 arr = zeros(Int64, (10,2)) out = zeros(Int64, (10,2)) arr[:,1] = [1 2 3 4 5 6 7 8 9 10] arr[:,2] = [2 3 2 3 4 4 5 6 7 5] for i in 1:10 for j in 1:2

关于Julia中MXNet中符号API的查询

我正在努力理解《朱莉娅》中MXNet的象征性API细微差别。我在MXNet文档中看到了一个示例,其行如下: act1 = mx.Activation(data = fc1, name=:relu1, act_type=:relu) 为什么act\u type指定了符号:relu :relu是函数指针吗?如果不是,那么我们在哪里将值分配给:relu符号?为什么数据没有指定符号?为什么名称被指定为符号而不是字符串?符号是类型为“symbol”的变量的有效值。我的猜测是,内部有一个switch风格的

Julia 指定包含任意数字的向量/数组的类型

朱莉娅是新来的-所以我为这个简单的问题道歉,只是似乎在任何地方都找不到答案: 我试图创建一个函数,该函数将向量作为参数,但强制该向量包含数字(浮点数或整数) 我觉得应该这样写: function foo(x::Vector{Number}) return x.^2 end 但是用foo([5.0])运行这个程序会产生 ERROR: MethodError: no method matching foo(::Array{Float64,1}) Closest candidates are

Julia 朱莉娅:用“写一个类型的并集”;“抽象类型”;

我正在尝试编写以下类型的并集: FloatVector = Union{Array{Float64,1}, DataArray{Float64,1}, Array{Union{Float64, Missings.Missing},1}}; 使用抽象类型语法。理想情况下,我想做一些类似的事情。我尝试了以下方法,但不幸的是它不起作用: abstract type FloatVector end type Array{Float64,1} <: FloatVector end type Dat

Julia中加权有向网络邻接矩阵的生成

我想从Julia(v0.7)中的邻接矩阵生成一个加权有向网络 到目前为止,我已经尝试: using LightGraphs using SimpleWeightedGraphs A = rand(100, 100) G = Graph(A) 但我得到了一个错误: ERROR: ArgumentError: Adjacency / distance matrices must be symmetric Stacktrace: [1] SimpleGraph{Int64}(::Array{Fl

Julia 关于Project.toml

在1.0之前,我想问一下,在配置mybinder时,我只需要REQUIRE格式,例如: julia 0.6.0 PyCall PyPlot ... 更新到julia 1.1.0后,这似乎不再有效。我发现可能有必要将REQUIRE替换为project.toml,但是如果我只知道包名的列表,应该如何生成project.toml 例如,转到项目所在的文件夹 $ cd /home/myname/MyProject.jl 开始朱莉娅 $ julia 按]转到软件包管理器并键入激活: (v1.0)

Julia错误-定义时未找到构造函数

将其复制到jupyter笔记本电脑中,但无法使其运行,并且该消息也没有真正的帮助。一切看起来都很好 mutable struct CircularArray{T} <: AbstractArray{T,1} data::Array{T,1} first::Int CircularArray{T}(length::Int) where {T} = new{T}(Array{T, 1}(undef, length), 1) end a = CircularArray(

检查juliav1.1语法正确性的parse和eval替代方法

Julia是动态键入的,某些错误仅在执行期间发生 例如: julia> function foo() a 5 end foo (generic function with 1 method) julia> foo() ERROR: UndefVarError: a not defined Stacktrace: [1] foo() at ./REPL[1]:2 [2] top-level scope at none:0 julia&g

Julia 平均函数不正确值

我有一个80个元素的数组,具有相同的条目:176.01977965813853 如果我使用均值函数,我将得到值176.01977965813842 为什么呢 下面是一个简单的工作示例: using Statistics arr = fill(176.01977965813853, 80) julia> mean(arr) 176.01977965813842 我希望它返回176.01977965813853。这些只是预期的浮点错误。但是,如果您需要非常精确的求和,您可以使用更精细、更昂

Julia SLURM sbatch是否会跨节点自动复制用户脚本?

SLURM(特别是sbatch)是否应该自动将用户脚本(而不是作业配置脚本)复制到集群的计算节点以供执行?从我的登录节点执行sbatch文件后,将在我的一个计算节点上创建输出文件,但包含以下内容: ERROR: could not open file /home/pi/slurm.jl Stacktrace: [1] include at ./boot.jl:328 [inlined] [2] include_relative(::Module, ::String) at ./loading

如何在julia中使用LibPQ插入记录?

目的:在julia中使用LibPQ创建记录并将其插入postgres 代码: 观察: 创建了表practice.language,但未插入记录 practice=> select * from practice.language; lang | web ------+----- (0 rows) 错误日志: ERROR: LoadError: MethodError: no method matching schema(::DataFrame) Closest candidates

Julia 如何检查字符串是否为空?

如何检查字符串是否为空 我目前正在使用==运算符: julia> x = ""; julia> x == ""; true 使用isempty。它更加明确,并且更有可能针对其用例进行优化 例如,在最新的Julia上: julia> using BenchmarkTools julia> myisempty(x::String) = x == "" foo (generic function with 1 method) julia> @btime myise

`Julia宏中的UndervarError`

帮助我调试(以及更好地理解Julia宏 我试图定义一个简单的宏,用它来查找代码块 “进入”和“离开”通知。以下是我到目前为止得出的结论: macro dbg(block_title, expr) quote title = $block_title println("Entering $title") $expr println("Leaving $title") end end 乍一看,它似乎符合我的要求: j

如何提示用户输入,直到输入在Julia中有效

我试图制作一个程序来提示用户输入,直到他们输入特定范围内的数字 当我输入超出指定范围的字母、符号或数字时,确保代码不会出错的最佳方法是什么 这是实现这类目标的一种可能方式: while true print("Please enter a whole number between 1 and 5: ") input = readline(stdin) try if parse(Int, input) <= 5 || parse(Int, input

在Julia中添加包-冻结

我刚开始看朱莉娅(在一个教程之后)。我试着这样做: using Pkg Pkg.add("IJulia") 但是安装被卡住了99.9%,什么都没有发生 Cloning default registries into `C:\Users\Alan\.julia` Cloning registry from "https://github.com/JuliaRegistries/General.git" Fetching: [================

Julia 朱莉娅:给定一个可迭代的'itr',是否有一种有效的数据结构和算法来获取'itr'的前'n'个值的索引?

考虑一下dist=rand(4_000_000),我希望找到顶部n值的索引。对于排名第一的人来说,这很容易 argmax(距离) 但是如果有一个查找顶部的函数n?如果只需要索引而不实际排序列表,请使用partialsortperm: julia> partialsortperm(dist,1:5) 5-element view(::Array{Int64,1}, 1:5) with eltype Int64: 1015972 672133 1519815 2724755 42

无法从julia中的GLM.jl复制对数似然性

我试图重现从julia中的GLM.jl包中获得的对数似然。然而,我不能得到同样的结果 我的方法有什么问题 这是我计算对数可能性的方法吗 例如: using Pipe using Distributions using GLM using DataFrames #simulating the data d = Normal(0, 1) d_epsilon = Normal(0, 0.01) X = [ones(n) rand(d, n)] ϵ = rand(d_epsilon, n) β₀

Julia相对路径和导入自定义模块

我是朱莉娅的新手。 我真的对使用自定义模块感到困惑。 注意:我通过vim工作,而不是Juno 例如,这是我的目录树(请忽略tmp.txt) 我通常在main.jl中编写主要函数,并从其他目录导入(使用)模块,例如算法和模型 就我而言,有几个恼人的问题: 如果我想在model/aerospace\u system.jl中使用algorithm/Controller.jl中的模块Controller(假设存在),那么我似乎必须在model/aerospace\u system.jl中添加includ

Julia 错误:不支持的体系结构';aarch64';马科斯

我尝试以通常的方式更新我的Julia软件包: julia> using Pkg julia> Pkg.update() 我得到了以下信息: Updating registry at `C:\Users\ManthosPc\.julia\registries\General` Updating git-repo `https://github.com/JuliaRegistries/General.git` ERROR: ArgumentError: Unsupported a

Julia 使用for循环添加绘图后创建子绘图

我有一个id列的dataframe。我想过滤数据框中的特定id,然后将列中的数据添加到绘图中(这部分是使用for循环完成的)。最后,我想把图(本例中为3)添加到子图中。我是这样做到的,但我最后的情节是不正确的。想知道是否有人知道我做错了什么(前两个子部分是空的,所有信息似乎都在第三个子部分) 在您的示例中,始终更新最新创建的绘图,即您的p3。使用绘图时,您可以通过将哪个绘图放入plot中来指定更新哪个绘图的参数(否则将更新最新的参数)。所以我认为你应该做绘图!(p1,…)而不是p1=绘图!(…)

Julia 使用Flux的神经代理问题

我正在尝试使用Flux.jl构建一个神经代理,目标是开发一个在估计插值方面与kriging函数相当的函数。 代码如下所示: using Plots using Surrogates using Flux f(x) = sin(x) x = range(0, 10.0, length = 9) x= Float32.(x) y = f.(x); scatter(x,y) model1 = Chain( Dense(1, 5, σ), Dense(5,2,σ), Dense(2, 1)

Julia 朱莉娅';s相当于R';s帮助页面和小插曲?

来自R的背景,刚刚开始学习Julia,我想知道Julia中的文档如何,是否有类似于R的帮助页面和小插曲 此外,在R中,可以使用roxygen注释块来记录函数,Julia中是否也有类似的内容?我认为最好通过示例来理解事情是如何工作的。我将评论DataFrames.jl是如何记录的,因为这是一种非常标准的方法: 函数是使用docstring记录的,是函数名的docstring示例;然后通过帮助系统(按?)以交互方式发现这些文档字符串 为包生成文档的标准方法是使用;顺便说一句:这个软件包有一个伟大的维

Julia 奇型构造行为

使用MD模拟,我需要在粒子位置上强制执行周期性边界条件。最简单的方法是使用mod(粒子位置,长方体尺寸)。因为我在3D空间工作,所以我制作了一个3D向量类型: immutable Vec3 x::Float32 y::Float32 z::Float32 end 和mod函数: f1(a::Vec3, b::Vec3) = Vec3(mod(a.x, b.x), mod(a.y, b.y), mod(a.z, b.z)) 但是,当使用此功能时,它会出现可怕的失败: julia> a =

Julia 牛虻标记

是否有可能改变牛虻图中的标记类型?或者任何能清楚区分灰度打印输出中不同线条的东西 谢谢, 多米尼克目前没有办法改变牛虻的标记类型。有一个悬而未决的问题:你试过什么吗?研究什么?目前你的问题很广泛。

Julia 朱莉娅每次都要编译剧本?

Julia语言每次都编译脚本,我们不能用Julia编译二进制文件吗? 我尝试了一个带有println函数的helloworld小脚本,julia花了2,3秒才显示输出!如果我们可以制作二进制文件,而不是每次编译,那就更好了 更新:自从我问了这个问题后,朱莉娅有了一些变化。虽然我不再关注julia的更新,但因为我已经问了这个问题,如果你正在寻找类似的东西,请查看下面跟踪julia的人的回答和评论 另外,很高兴知道,现在加载一个脚本大约需要150毫秒。此时Julia JIT在启动时编译其整个标准库。

Julia 朱莉娅:如何评估符号

救命啊!我得到了一个sym形式的结果。但似乎eval不起作用。我怎样才能得到一个数字答案?谢谢 @show BBias @show eval(BBias) @show typeof(eval(BBias)) BBias = -213.53387843501*cos(6) + 73.4119295548356*sin(6) - 50*sin(6)*cos(6) + 316.255048160247 eval(BBias) = -213.53387843501*cos(6) + 73.4

Julia模型的内部收益率计算

我可以使用 tvmnpv(i,cfo,cfall)=begin n=collect(1:length(cfall)); cfo + sum(cfall./(1+i).^n) end 其中,cfo是t=0时的初始现金流,cfall表示以下现金流,i是使用的贴现率 不过,鉴于现金流量,我找不到计算内部收益率的方法。我相信excel使用了一个函数,可以滚动浏览可能的值,直到找到cfo加上贴现后的现金流等于零的值。谁能给我指出正确的方向吗 所需输出的示例如下: cfo=[-100];cfall=[30

如何在Julia中恢复过度编写的内置函数

这个问题可能也适用于其他语言 如果我使用内置函数名作为变量名, 我可以通过执行以下操作来恢复该功能: all = 123 all = Base.all 但如果我定义了一个自定义函数sum(),然后 sum = Base.sum 我说“常数和的重新定义无效”时出错 如果我重写了内置函数,有没有办法恢复它?或者这是设计上不可能的?如果在REPL中工作时这对您来说只是一个问题,并且您不介意丢失所有其他定义,您可以执行workspace()重置Main对于本例,您可以将sum重新定义为Base.su

Julia 摧毁朱莉娅的类型

我必须摧毁Julia的某些类型,它看起来像: struct City x::Int y::Int index::Int end 我想要一个函数,比如 destroy(City) 这将删除此项。可能吗 感谢您的回答。Julia是一种语言,您不需要显式地释放对象使用的内存,也没有这样做的机制。垃圾收集会自动响应内存压力,或者您可以通过调用gc()函数手动调用它。删除它是什么意思?@MattB。我的意思是释放记忆。它应该像C中的free()一样工作。如果需要呢?或者如何

如何设置atom/juno来运行julia?

我正在尝试设置Atom/Juno来运行Julia,这样它看起来就像这个网站上的屏幕抓图——它看起来和我想要的一模一样 我已经下载并安装了Julia和Atom。在Atom上,我安装了uber juno、julia client和语言julia软件包 尝试在Atom中启动Julia时,出现以下错误: julia> Pkg.add("Atom") INFO: Initializing package repository C:\Users\BRB\.julia\v0.5 INFO: Clonin

在C中获取特定的Julia方法

如何在Julia的C API中访问Julia函数的方法?。有结构jl_method\u instance\t和jl_method\u t,我认为它们是C级Julia方法的容器,但是如何构造其中一个呢?如何得到抽象函数的具体方法。我有一个部分答案。您可以通过调用“which”函数来获得特定的方法 julia> f = which(+, (Int, Int)) +{T<:Union{Int128,Int16,Int32,Int64,Int8,UInt128,UInt16,UInt32,U

Julia与Python';什么是日程安排?

我有一段Python代码,a希望将其转换为Julia。我在使用包时使用了python代码。Julia中的等价物是什么?我查看了Julia文档中的“任务和并行计算”部分,但找不到类似的内容。Python中的代码是: def main(): schedule.every(0.25).seconds.do(read_modbus, 1, 1000, 100, 1) while True: schedule.run_pending() time.sleep

Julia 关键字参数别名

允许关键字参数使用别名的好方法是什么。假设我想要这样的界面: function f(a, b; k1=1, k2=2) println(a, b) println(k1, k2) end function f(a, b; key1=1, key2=2) println(a, b) println(key1, key2) end function f(a, b; kw1=1, kw2=2) println(a, b) println(kw1, k

Julia 可变结构的参数与结构的类型相同

我试图创建一个可变结构神经元,其参数输入为神经元向量类型。这在朱莉娅身上可能吗。 下面是我正在做的 mutable struct Neuron inputs::Vector{Neuron} weights::Vector{Float64} func::Function output::Float64 #= parameters::Vector{Float64} =# end 我正在使用julia 1.0。错误: 错误:LoadError:Julia中可能存在对常量神经元的无效重新定义,如Jul

julialang:是否可以(应该)在编译时捕获此类型错误?

编译时没有任何警告。当然,调用它会产生一个不精确的错误:Int64(0.5)。问:您能强制执行编译时检查吗?从这个意义上讲,Julia是一种动态语言。因此,如果不先运行函数,您似乎无法检测赋值的结果是否会导致此类错误,因为此类类型检查是在运行时完成的 我自己也不确定,所以我把这个函数包装在一个模块中,在没有运行函数的情况下强制(预)编译,结果是没有抛出错误,这证实了这个想法。(看看你是否想明白我的意思) 话虽如此,但要回答您问题的核心:有没有办法避免这些模糊的运行时错误以意外的方式蔓延 有。考虑

在JULIA中转换数组中的元组向量

我对Julia很陌生,我正在尝试转换数组中的元组向量。 这里有一个例子 using Statistics a = randn((10, 100)) q = (0.05, 0.95) conf_intervals = [quantile(a[i,:], q) for i in 1:10] 而conf_interval是一个10元素向量{Tuple{Float64,Float64} 预期结果应为10×2矩阵{Float64} 我试着用[conf\u interval…]来设置conf\u inte

  1    2   3   4   5   6  ... 下一页 最后一页 共 31 页