标签: julia

朱莉娅:按第2列排序矩阵,然后是3

我想A按第2列和第3列对我的矩阵进行排序.

A = round(randn(100,4))
Run Code Online (Sandbox Code Playgroud)

也许是这样的:

sort(A,(0,2:3))
100x4 Array{Float64,2}:
  0.0  -2.0  -2.0  -1.0
 -1.0  -2.0  -1.0   1.0
  1.0  -2.0  -1.0   2.0
 -1.0  -2.0   0.0   0.0
 -1.0  -2.0   0.0  -1.0
 -0.0  -2.0   0.0  -1.0
  1.0  -2.0   0.0   0.0
  1.0  -2.0   1.0  -1.0
 -0.0  -2.0   2.0  -1.0
 -0.0  -1.0  -2.0   1.0
  ?                    
 -0.0   1.0   0.0   1.0
  1.0   1.0   1.0   1.0
  0.0   1.0   1.0  -1.0
 -0.0   1.0   2.0   0.0
 -0.0   2.0  -1.0   0.0
 -2.0   2.0  -1.0   1.0
  2.0   2.0  -0.0  -1.0
 -1.0 …
Run Code Online (Sandbox Code Playgroud)

sorting matrix julia

14
推荐指数
1
解决办法
4181
查看次数

Julia Dataframes与Python大熊猫

我目前正在使用python,pandas并想知道是否有办法将数据从熊猫输出到julia Dataframes,反之亦然.(我想你可以从Julia调用python,Pycall但我不确定它是否适用于数据帧)有没有办法从python调用Julia并让它接受panda数据帧?(不保存为像csv这样的其他文件格式)

除了非常大的数据集和运行具有许多循环(如神经网络)的东西之外,何时使用Julia Dataframes而不是Pandas是否有利?

python dataframe pandas julia

14
推荐指数
1
解决办法
6839
查看次数

Julia:带抽象参数的数组会导致错误,但抽象类型的变量则不会

朱莉娅风格指南说以下内容:

不要使用不必要的静态参数.功能签名:

foo{T<:Real}(x::T) = ...
Run Code Online (Sandbox Code Playgroud)

应该写成:

foo(x::Real) = ...
Run Code Online (Sandbox Code Playgroud)

我希望也适用于数组参数.但是,如果我写下面的代码:

ret1(x::Real) = x
ret2(x::Array{Float64,2}) = x
ret3(x::Array{Real,2}) = x
ret1(1.0)
ret2(rand(2,2))
ret3(rand(2,2))
Run Code Online (Sandbox Code Playgroud)

然后我得到以下控制台输出(使用Julia 0.2.1):

MethodError(ret3,(
2x2 Array{Float64,2}:
 0.841121  0.322133
 0.469432  0.495438,))
Run Code Online (Sandbox Code Playgroud)

那么为什么Julia会为具有抽象类型参数的数组抛出错误,而对于具有抽象类型的变量则不会?

julia

14
推荐指数
1
解决办法
678
查看次数

忽略Julia中一些返回元组的成员

Julia本身不支持多次返回.但是,Julia通过返回值元组来执行类似的功能,然后可以将其分配给变量元组.例如:

function mult_return()
    (3,2)
end
Run Code Online (Sandbox Code Playgroud)

返回元组(3,2).然后我们可以将这两个返回值分配给不同的变量,如下所示:

(a,b) = mult_return()(或a,b = mult_return()因为括号不是必需的.)

我的问题是:有没有办法忽略其中一个返回值?例如,在Matlab语法中,用户可以编写:

[~, b] = mult_return()
Run Code Online (Sandbox Code Playgroud)

这样只将第二个值赋给变量.

在Julia中解决这个问题的正确方法是什么?

julia

14
推荐指数
1
解决办法
1317
查看次数

julia:创建并使用没有Internet的本地包

我正在尝试创建一个julia语言包并在项目中使用它.
现在我只有一个jl文件,我不知道如何用它创建一个包.

我已阅读此链接,但我仍然不知道该怎么做.我想创建一个带有jl文件的本地包,并使用以下代码在我自己的本地项目中使用它:using MyPackage.

有人能帮助我吗?

package julia

14
推荐指数
1
解决办法
4602
查看次数

Julia如何实现多方法?

我一直在阅读http://c2.com/cgi/wiki?ImplementingMultipleDispatch

我一直在寻找关于Julia如何实现多方法的参考.调度的运行时复杂性是什么,它是如何实现的?

multiple-dispatch multimethod julia

14
推荐指数
1
解决办法
885
查看次数

Julia中push!()和append!()方法的效率如何?

这个页面上,它说方法push!()并且append!()非常有效.

我的问题是它们的效率如何?

也就是说,

如果有人知道最终数组的大小,那么预先分配数组还是使用append!()/ 增量增长它push!()会更快吗?

现在考虑一个人不知道最终数组大小的情况.例如,将多个数组合并为一个大数组(称之为A).

实现这一目标的两种方法:

  1. append!()-ing每个数组A,其大小尚未预先分配.
  2. 首先求和每个数组的维度,以找到合并数组的最终大小A.然后预分配A并复制每个数组的内容.

在这种情况下哪一个会更有效率?

arrays julia

14
推荐指数
2
解决办法
7211
查看次数

在Julia中将整数转换为字符串

我想在Julia中将整数转换为字符串.

当我尝试:

a = 9500
b = convert(String,a)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

ERROR: LoadError: MethodError: Cannot `convert` an object of type Int64 to an object of type String
This may have arisen from a call to the constructor String(...),
since type constructors fall back to convert methods.
 in include_from_node1(::String) at ./loading.jl:488
 in process_options(::Base.JLOptions) at ./client.jl:265
 in _start() at ./client.jl:321
while loading ..., in expression starting on line 16
Run Code Online (Sandbox Code Playgroud)

我不确定为什么Int64不能转换为字符串.

a例如a = UInt64(9500),我尝试定义为不同的类型,但得到类似的错误.

我知道这是非常基本的,并试图在这里寻找正确的方法,但无法弄明白.

julia

14
推荐指数
1
解决办法
1万
查看次数

检查Julia数组的所有元素是否相等

我能想到的测试数组arr中所有元素是否相等的最短路径是all(arr[1] .== arr).虽然这当然很短,但似乎有点不雅.是否有内置功能可以做到这一点?

我怀疑有一些东西==(arr...),但这不起作用,因为==操作员只能采取两个参数.我不确定Julia如何解析表达式arr[1] == arr[2] == arr[3],但有没有办法让它适应具有任意数量元素的数组?

arrays equality julia

14
推荐指数
3
解决办法
2560
查看次数

Julia 中缺少、无、未定义和 NaN 之间的用法和约定差异

我寻找的时候使用一些指导missingnothingundef,和NaN在朱莉娅。

例如,对于预先分配数组或从try/返回,所有这些似乎都是合理的选择catch

julia

14
推荐指数
2
解决办法
675
查看次数