在 Julia 中重塑数据框
DataFrame 是一种以表格形式保存数据数组的数据结构。我们熟悉Python中的数据框对象和包,包括pandas、matplotlib等。
与 Julia 中的等效方法完全相同,我们使用 pandas.jl 作为封闭函数。我们在 Julia 中也有默认包,它们确实用作数据帧,即 Query.jl、DataFramesMeta.jl
在 Julia 中构建数据框
正如我们所知,数据框用于表示表格结构并将值存储在列中。每列由用户定义的关键字参数组成。现在让我们从在 Julia 中构建一个基本的数据框开始。
# Julia program to create a Data Frame
# Loading Library
using DataFrames
# Creating a Data frame
data = DataFrame(A = [31, 22], B = [3.0, missing], C = ["P", "N"])
输出:
现在我们已经创建了一个 2×3 阶的 DataFrame,它存储在一个名为“data”的变量中,我们还可以感知到数据存储在表格组合中。让我们了解 DataFrame 内部的结构化数据。
这里 A、B 和 C 列充当关键字。
- “A”列包含整数值。
- “B”列包括浮点数和缺失值。
- “C”列包含一个字符串字符。
对 DataFrame 的操作
现在让我们了解 Julia 中的一些操作。
# Julia program to create a Data Frame
# Loading Library
using DataFrames
# Creating a Data frame
data2 = DataFrame(A = 1:8, B = ["M", "F", "F", "M", "F", "M", "M", "F"],
C = ["T", "F", "T", "T", "F", "T", "F", "F"])
在这里,另一个 Dataframe 被创建并存储在变量“data2”中。
头部函数
此操作演示了 DataFrame 的头部
# Demonstrating Head of Data Frame
x = head(data2)
对于上面创建的DataFrame,我们已经进行了head操作。它显示数据框中的最高值。
输出:
尾函数
此操作显示 DataFrame 的尾部。
# Demonstrating Head of Data Frame
y = tail(data2)
对于上面创建的 DataFrame,我们已经执行了尾部操作。它显示数据框中最底部的值。
输出:
行和列操作
# Printing specific rows and columns
# Using Row and column operation
z = data2[1:4, :]
s = data2[1, :]
上面的代码代表了行列操作。
- “,”(逗号)左侧的数字表示要包含的行数。
- “,”(逗号)右侧的数字表示要包含的列数。
- 在第一个变量(即 z)中,我们正在访问范围为 1-4 的行。这里的重要部分是在逗号运算符的右侧有一个冒号(“ :”),表示要包含的所有列。
- 在第二个变量(即 s)中,我们只定位包含所有列的第一行。
输出:
在 Julia 中重塑 DataFrame
重塑 Dataframe 包括堆栈函数。以更精确的形式对数据进行操作和检索。
using DataFrames
data3 = DataFrame(number = [1, 2, 3, 4, 5, 6, 7, 8],
id1 = [1, 1, 2, 2, 2, 3, 3, 3],
type = ["dog", "dog", "cat", "cat",
"cat", "fish", "fish", "fish"])
在上面的代码中,我们创建了一个具有 3 列和 8 行的数据框,编号在“number”列中给出,“id”为每个“type”给出(即,id “dog” = 1,id “cat” = 2, id “fish” = 3) 分别在 id1 和 type 列中。
输出:
让我们看看使用上面声明的 DataFrame 使用“stack”函数的重塑属性。
# Reshaping the Data Frame
a = stack(data3, [:type, :id1], :number)
输出:
通过对比上面两张图,我们得出结论:
- 在 Stack函数中,我们需要传递存储 DataFrame 的变量
- 因此,我们正在对上面创建的 DataFrame 执行重塑操作,并将其存储在变量“data3”中
- 在声明变量之后,考虑到“type”和“id”列以行格式显示为字符串,导致操作操作。
- 因此重复数字列值两次。
- 我们现在可以在使用 stack 函数执行 reshape 操作后可视化 DataFrame 的顺序为 16×3。
从数据框中删除行
要在 Julia 中删除行,我们使用一个名为deleterows!()
的函数。它将数据框名称和行索引作为参数。
# Deleting rows from a data frame
# Calling deleterows!() Function
doc = deleterows!(data3, 6:8)
解释:
- 正如我们在上面创建了一个 DataFrame 并将其存储在一个变量“data3”中
- 因此,我们对相应的 DataFrame 执行了删除操作。
- 在上面的代码中,我们使用函数deleterows 删除了第 6 行和第 7 行 (n : (n-1))!并将结果存储在“doc”变量中。
输出:
结论
片刻之后,我们最终发现了 Julia 中的 DataFrames 到底是什么,并了解了所有程序并完成了数据操作。在本文中,我们主要介绍了重塑数据和删除操作。