我将用R编写的脚本转移到Julia,其中一个R函数是names()函数。朱莉娅有同义词吗?
答案 0 :(得分:4)
在Julia中,DataFrame
的{{1}}函数返回列名,例如:
julia> using DataFrames
julia> x = DataFrame(rand(3,4))
3×4 DataFrames.DataFrame
│ Row │ x1 │ x2 │ x3 │ x4 │
├─────┼───────────┼──────────┼──────────┼──────────┤
│ 1 │ 0.721198 │ 0.605882 │ 0.191941 │ 0.597295 │
│ 2 │ 0.0537836 │ 0.619698 │ 0.764937 │ 0.273197 │
│ 3 │ 0.679952 │ 0.899523 │ 0.206124 │ 0.928319 │
julia> names(x)
4-element Array{Symbol,1}:
:x1
:x2
:x3
:x4
然后,为了设置DataFrame
的列名,您可以使用names!
函数(示例续):
julia> names!(x, [:a,:b,:c,:d])
3×4 DataFrames.DataFrame
│ Row │ a │ b │ c │ d │
├─────┼───────────┼──────────┼──────────┼──────────┤
│ 1 │ 0.721198 │ 0.605882 │ 0.191941 │ 0.597295 │
│ 2 │ 0.0537836 │ 0.619698 │ 0.764937 │ 0.273197 │
│ 3 │ 0.679952 │ 0.899523 │ 0.206124 │ 0.928319 │
标准数组不支持命名其维度。但是您可以使用添加此功能的包。您可以获取和设置维度的名称以及每个维度的索引名称。您可以在NamedArrays.jl找到详细信息。
答案 1 :(得分:1)
我不是R专家,但我认为你想要type Foo
bar::Int
end
@show fieldnames(Foo)
baz = Foo(2)
@show fieldnames(baz)
import re
my_string = "AAAA xsdfe123 BBBB 1jhfhfs CCCC 13 AAAA hjhj 300 DDDD hfh3 BBBB 14 x"
my_dict = {}
my_list = re.findall("[A-Z]+[^A-Z]+", my_string)
for item in my_list:
item = item.strip()
key = re.sub(" .*", "", item)
value = re.sub("^[A-Z]+\s+", "", item)
if key in my_dict:
my_dict[key] = my_dict[key] + [value]
else:
my_dict[key] = [value]
print(my_dict)