Engee 文档
Notebook

处理表的基本功能

在这个例子中,让我们来看看使用库处理表。 DataFrames.jl 在Engee环境中。


创建表

让我们定义一个表,并使用它来考虑使用函数。

设置任务的方法之一是从现有矩阵中获取它。

In [ ]:
x = rand(3,4) # Задаем матрицу 3х4
Out[0]:
3×4 Matrix{Float64}:
 0.926038   0.804963   0.534224    0.79081
 0.0455585  0.247521   0.00657984  0.944393
 0.560838   0.0451912  0.272253    0.225811
In [ ]:
# Подключим библиотеку для работы
using DataFrames

y = DataFrame( x, ["A", "B", "C", "D"] )
Out[0]:

3 rows × 4 columns

ABCD
Float64Float64Float64Float64
10.9260380.8049630.5342240.79081
20.04555850.2475210.006579840.944393
30.5608380.04519120.2722530.225811

您可以通过在第二个参数中指定关键字自动设置列名。 :auto.

In [ ]:
y1 = DataFrame( x, :auto )
Out[0]:

3 rows × 4 columns

x1x2x3x4
Float64Float64Float64Float64
10.9260380.8049630.5342240.79081
20.04555850.2475210.006579840.944393
30.5608380.04519120.2722530.225811

用于处理行和列的函数

例如,要显示表格的第二列,您可以通过列名用点访问它,或者显示第二列的所有行。 这两种方法显示在单元格中,代码如下。

In [ ]:
y.B # Обращение через название столбца 
Out[0]:
3-element Vector{Float64}:
 0.8049630878241182
 0.24752121054936527
 0.04519118103988562
In [ ]:
y[:,2] # Выводим все строки 2-го столбца
Out[0]:
3-element Vector{Float64}:
 0.8049630878241182
 0.24752121054936527
 0.04519118103988562

您也可以输出除一列之外的所有列,例如 С.

In [ ]:
select(y[:,:], Not("C"))
Out[0]:

3 rows × 3 columns

ABD
Float64Float64Float64
10.00.00.0
20.04555850.2475210.944393
30.5608380.04519120.225811

要重命名列,有一个函数 rename(). 函数的第一个参数是表,第二个参数是新的列名。

In [ ]:
rename!(y1, ["A", "B", "C", "D"])
Out[0]:

3 rows × 4 columns

ABCD
Float64Float64Float64Float64
10.9260380.8049630.5342240.79081
20.04555850.2475210.006579840.944393
30.5608380.04519120.2722530.225811

可以使用函数对列值进行排序 sort().

In [ ]:
sort!(y1.C) # Отсортировали значения в столбце С и записали в исходную таблицу результат
Out[0]:
3-element Vector{Float64}:
 0.006579837672216482
 0.2722532183791443
 0.534224047073746

您可以通过按名称引用表并赋值来将列添加到表中。 如果表中没有具有该名称的列,则将创建一个新列。

In [ ]:
y1.F = 3 * (y1.B + y1.C) # Запишем в новый столбец результат суммы значений столбцов А и В, уможенной на 3
y1
Out[0]:

3 rows × 5 columns

ABCDF
Float64Float64Float64Float64Float64
10.9260380.8049630.006579840.790812.43463
20.04555850.2475210.2722530.9443931.55932
30.5608380.04519120.5342240.2258111.73825

因此,我们已经回顾了使用库处理表的基本基本功能。 DataFrames.jl. 有关使用表的更多类似信息可以在[DataFrames.jl]节(https://engee.com/helpcenter/stable/julia/DataFrames/index.html )。