我想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) 我目前正在使用python,pandas并想知道是否有办法将数据从熊猫输出到julia Dataframes,反之亦然.(我想你可以从Julia调用python,Pycall但我不确定它是否适用于数据帧)有没有办法从python调用Julia并让它接受panda数据帧?(不保存为像csv这样的其他文件格式)
除了非常大的数据集和运行具有许多循环(如神经网络)的东西之外,何时使用Julia Dataframes而不是Pandas是否有利?
该朱莉娅风格指南说以下内容:
不要使用不必要的静态参数.功能签名:
Run Code Online (Sandbox Code Playgroud)foo{T<:Real}(x::T) = ...应该写成:
Run Code Online (Sandbox Code Playgroud)foo(x::Real) = ...
我希望也适用于数组参数.但是,如果我写下面的代码:
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本身不支持多次返回.但是,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语言包并在项目中使用它.
现在我只有一个jl文件,我不知道如何用它创建一个包.
我已阅读此链接,但我仍然不知道该怎么做.我想创建一个带有jl文件的本地包,并使用以下代码在我自己的本地项目中使用它:using MyPackage.
有人能帮助我吗?
我一直在阅读http://c2.com/cgi/wiki?ImplementingMultipleDispatch
我一直在寻找关于Julia如何实现多方法的参考.调度的运行时复杂性是什么,它是如何实现的?
在这个页面上,它说方法push!()并且append!()非常有效.
我的问题是它们的效率如何?
也就是说,
如果有人知道最终数组的大小,那么预先分配数组还是使用append!()/ 增量增长它push!()会更快吗?
现在考虑一个人不知道最终数组大小的情况.例如,将多个数组合并为一个大数组(称之为A).
实现这一目标的两种方法:
append!()-ing每个数组A,其大小尚未预先分配.A.然后预分配A并复制每个数组的内容.在这种情况下哪一个会更有效率?
我想在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),我尝试定义为不同的类型,但得到类似的错误.
我知道这是非常基本的,并试图在这里寻找正确的方法,但无法弄明白.
我能想到的测试数组arr中所有元素是否相等的最短路径是all(arr[1] .== arr).虽然这当然很短,但似乎有点不雅.是否有内置功能可以做到这一点?
我怀疑有一些东西==(arr...),但这不起作用,因为==操作员只能采取两个参数.我不确定Julia如何解析表达式arr[1] == arr[2] == arr[3],但有没有办法让它适应具有任意数量元素的数组?
我寻找的时候使用一些指导missing,nothing,undef,和NaN在朱莉娅。
例如,对于预先分配数组或从try/返回,所有这些似乎都是合理的选择catch。