📜  Julia – 数据帧

📅  最后修改于: 2022-05-13 01:54:49.870000             🧑  作者: Mango

Julia – 数据帧

Julia 中的 Data Frames 是Python中 Pandas 包的替代方案。数据框以表格结构表示数据。我们可以使用这些数据框来操作数据。可以对数据帧进行各种操作,以更改数据和进行行列转换。

数据框主要用于以行列方式访问数据。

与Python安装包类似,Julia 也包含导入方法。

安装所需软件包:

可以使用 Jupyter 笔记本或 Atom 软件对 Julia 进行编程。要在 Julia 中安装数据框包,请使用以下命令:

using Pkg
Pkg.add("DataFrames")

暂时,程序中涵盖了 Julia 中的 DataFrame,方法是通过关键字参数“using”导入它们。数据以行列方式表示,并使用我们在稍后读取时遇到的操作进行操作。要在代码中导入 DataFrames 包,请使用以下命令:

using DataFrames

创建数据框

Julia 中的数据框是使用预定义的DataFrame()函数创建的。它将值和列名作为参数并创建一个数据框。

例子:

Julia
# Creation of a Data Frame
dataframe = DataFrame(I = [17.20, 22.30], II = [49, missing], III = ["Hello", "Nicy"])


Julia
# Creating a Data frame
dataframe2 = DataFrame(I = 1:5, II = ["True", "False", "False", "True","False"],
                       C = ["Approved", "Dissapproved", "Approved",
                            "Approved","Dissapproved"])


Julia
# Accessing second column
op1 = dataframe2.II


Julia
# Accessing using double quotes
op2 = dataframe2."II"


Julia
# Accessing first column
op3 = dataframe2[!, :I]


Julia
# Getting names of columns
  
# Using names() function
op4 = names(dataframe2)
  
# Using propertynames() function
op5 = propertynames(dataframe2)


Julia
# Creating an empty data frame
data = DataFrame(first = Int[], sec = String[])


Julia
# Adding first column
push!(data, (17, "Cat"))


Julia
# Renaming columns of a data frame
ren = rename!(dataframe2, :I => :first)


Julia
# Displaying the head of a Data frame
  
# Using head() function
head1 = head(dataframe2)


Julia
# Displaying the tail of a data frame
  
# Using the tail() function
tail1 = tail(dataframe2)


Julia
# Deleting a row of a data frame
  
# Using delete!() function
delete1 = delete!(dataframe2, 4:5)


Julia
# Deleting a column of a data frame
  
# Using delete!() function
del = select!(dataframe2, Not(:II))


输出:

2×3阶DataFrame

如上所述,我们了解了如何在 Julia 中创建数据框。让我们通过了解行列结构化数据来了解上面创建的数据框的结构。

这里的列是 I、II 和 III,它们充当用户定义的关键字来表示列。

  1. “I”列包含浮点值。
  2. “II”列包括一个整数值和一个缺失值。
  3. “III”列包含字符串字符。

访问数据框的列

在 Julia 中,可以通过“data.column”访问列,其中“data”是我们创建 DataFrame 的变量元素,“column”是用户定义的 DataFrame 列的关键字。

首先,让我们创建一个数据框以对其执行进一步的操作

朱莉娅

# Creating a Data frame
dataframe2 = DataFrame(I = 1:5, II = ["True", "False", "False", "True","False"],
                       C = ["Approved", "Dissapproved", "Approved",
                            "Approved","Dissapproved"])

5×3阶数据框

现在让我们看一下使用一些操作访问列元素的示例。

朱莉娅

# Accessing second column
op1 = dataframe2.II

我们已经访问了创建的 dataframe2 对象中的第二列,并将检索到的列存储在“op1”变量中。

输出:

第二栏

朱莉娅

# Accessing using double quotes
op2 = dataframe2."II"

我们可以与上面访问第二列的代码进行比较。同样,我们也可以通过将它们包含在双引号中来访问任何列。

输出

第二栏

朱莉娅

# Accessing first column
op3 = dataframe2[!, :I]

语法表示访问第一列

输出

第 1 列

朱莉娅

# Getting names of columns
  
# Using names() function
op4 = names(dataframe2)
  
# Using propertynames() function
op5 = propertynames(dataframe2)

上面的代码代表了 Julia 'names' 和 'propertynames' 中的两个基本函数。

  • 在 Julia 中,函数'names'显示用户创建的数据框中的列名。
  • 函数'propertynames'使用 ' : ' 将列名显示为符号。

输出

名称和属性名称

向 DataFrame 添加元素

在这里,我们正在创建一个没有信息的数据框,而不是声明列的数据类型。

朱莉娅

# Creating an empty data frame
data = DataFrame(first = Int[], sec = String[])

现在我们已经创建了一个数据框并存储在一个名为“数据”的变量中。

  • 第一列包括整数数据类型的数据。
  • 第二列包含 String 数据类型的数据。

现在让我们使用“push() ”函数将数据推送到 DataFrame 列中。

朱莉娅

# Adding first column
push!(data, (17, "Cat"))

输出:

数据被推入数据框

重命名 DataFrame 的列

在 Julia 中,重命名操作由函数rename!()完成。此函数更改用户已列出的列的名称或关键字。

朱莉娅

# Renaming columns of a data frame
ren = rename!(dataframe2, :I => :first)

I列的名称改为first

创建数据框的子集

通过将数据框分成 Head 和 Tail 可以轻松创建子集。数据框的头部可以使用head()函数显示,尾部可以使用tail()函数显示。

头部函数:

这个函数说明了我们创建的 DataFrame 的头部。

朱莉娅

# Displaying the head of a Data frame
  
# Using head() function
head1 = head(dataframe2)

head函数返回我们 DataFrame 的头部或顶部。

输出:

数据框的头部

尾巴函数:

tail函数说明了创建的 DataFrame 的尾部。

朱莉娅

# Displaying the tail of a data frame
  
# Using the tail() function
tail1 = tail(dataframe2)

对于创建的 DataFrame,我们进行了尾部操作。该函数显示数据框中最底部的值。

输出:

数据框的尾部

删除 DataFrame 的行和列

Julia 中的删除操作是使用delete!()函数执行的。此函数将数据框名称和要删除的行或列作为参数并执行删除。

朱莉娅

# Deleting a row of a data frame
  
# Using delete!() function
delete1 = delete!(dataframe2, 4:5)

正如上面代码中所声明的,我们对“dataframe2”执行了删除操作并删除了第 4 行。

输出:

删除一行后的DataFrame

现在我们遇到了使用函数' delete!() '删除一行。

现在让我们消除一个列元素:

朱莉娅

# Deleting a column of a data frame
  
# Using delete!() function
del = select!(dataframe2, Not(:II))

在上面的代码中,我们访问了 Dataframe2 的列,不包括“II”列。

输出:

不包括第二列的数据框