lua库介绍:数据处理与操纵工具库 - leo
leo库简介leo 模块的创作初衷旨在简化数据处理的复杂流程,进步代码的可读性和实行服从,盼望leo 模块都能为你提供一系列便捷的工具函数,涵盖因子编码、多维数组创建、数据框构建、列表管理以及管道操纵等功能。
要利用 Leo 模块,起首需要先安装luarocks,随后在终端实行以下命令进行安装:
luarocks install lpeg
luarocks install leo
leo库包含以下函数:
函数名功能备注Factor()创建因子对象将分类数据编码为整数值,生成因子对象。因子对象生存原始类别信息,提供编码后的数值表示,便于统计分析和数据处理。Array()创建多维数组创建多维数组,支持2D或3D数组,允许循环填充或线性填充。Matrix()创建二维矩阵专门用于创建二维矩阵,并初始化每个元素的值,适用于数学计算、图像处理等场景。DataFrame()创建数据框对象创建数据框对象,存储结构化数据,提供方便的数据操纵接口。支持列式存储,允许对每列进行独立操纵,如过滤、排序、聚合等。List()创建列表对象创建列表对象,支持从变长参数或单个表中提取元素。列表对象支持动态添加和删除元素,适用于频繁修改数据结构的场景。Pipe()创建管道对象创建管道对象,允许通过链式调用对数据进行一系列操纵。简化复杂转换过程,减少嵌套调用带来的代码复杂度,实现高效的流水线式数据处理。Summary()计算统计择要计算数值数组的最小值、第一四分位数、中位数、均匀值、第三四分位数和最大值。提供类似于R语言中summary()函数的功能,快速相识数据的基本统计信息。Which()查找满足条件的元素索引查找满足给定条件的元素索引。条件可以是函数或逻辑数组,返回满足条件的元素索引列表,常用于数据筛选和异常检测。Is_na()检查 nil 元素检查数值数组中的每个元素是否为nil,返回逻辑数组指示元素状态。Na_omit()移除 nil 元素移除数值数组中的所有nil元素,返回新数组。Narm忽略 nil 计算均匀值计算数值数组的均匀值,忽略数组中的nil元素。有效处理缺失数据,确保后续分析的正确性。 格式化输出
Show() 函数用于直接输出信息到控制台。它可以处理任意类型的值,并根据值的类型进行得当的格式化输出。对于表,它会递归地打印出表的内容;对于自界说对象,它会实验调用对象的__tostring元方法;对于其他类型的值,它会直接打印。
好比:
local leo = require "leo"
local arrays = {
{1,2,3},
{4,5,6},
{7,8,9}
}
print(arrays)
print("---------------------------")
leo.Show(arrays)
https://i-blog.csdnimg.cn/direct/6961aba402a4400ab5bb33b3eeae8bb9.png
因子化操纵
与R语言的factor()函数相似,Factor() 函数用于创建一个因子对象,该对象可以将分类数据编码为整数值,从而便于进行统计分析或其他数据处理任务。
local leo = require "leo"
local factor = leo.Factor({"apple", "banana", "apple", "orange", "banana"})
print("Levels:", table.concat(factor.levels, ", "))
print("Encoded Data:", table.concat(factor.encoded_data, ", "))
https://i-blog.csdnimg.cn/direct/747ae7a1b67440a68f04b9d30ac63efb.png
创建多维数组
Array() 函数用于创建一个多维数组(如矩阵或三维数组),并根据指定的参数填充数组。
local leo = require "leo"
local array_2d_loop = leo.Array({3, 3}, 1, 5, true)
local array_3d_loop = leo.Array({3, 3, 3}, 1, 5, true)
print("array_2d_loop:")
leo.Show(array_2d_loop)
print("array_3d_loop:")
leo.Show(array_3d_loop)
https://i-blog.csdnimg.cn/direct/b42d4e3faff248fcb7994638ab4c3d9a.png
创建二维矩阵
Matrix() 函数用于创建一个二维矩阵,并初始化每个元素的值。
local leo = require "leo"
local matrix = leo.Matrix(3, 3, 0)
leo.Show(matrix)
https://i-blog.csdnimg.cn/direct/7da10ee303d048f88bf41501e458e017.png
创建数据框对象
DataFrame() 函数用于创建一个数据框对象,该对象可以存储结构化数据,并提供方便的数据操纵接口。
local leo = require "leo"
local df = leo.DataFrame({
Name = {"GGBond", "Mihu", "Superman Qiang"},
Age = {15, 35, 26},
City = {"New York", "Los Angeles", "Chicago"}
})
leo.Show(df)
https://i-blog.csdnimg.cn/direct/2e300624d47d49f487d8d542eb7a3f57.png
创建列表对象
List() 函数用于创建一个列表对象,可以从变长参数或单个表中提取元素。
local leo = require "leo"
local list = leo.List(1, 2, 3, {4, 5, 6})
leo.Show(list)
https://i-blog.csdnimg.cn/direct/aef4bef570ce481fab582653139858a9.png
创建管道对象
pipe() 函数用于创建一个管道对象,允许通过链式调用的方式对数据进行一系列操纵。
local leo = require "leo"
local pipe = leo.Pipe(10)
local function add_one(x) return x + 1 end
local function multiply_by_two(x) return x * 2 end
local function to_string(x) return tostring(x) end
pipe(add_one)
pipe(multiply_by_two)
pipe(to_string)
local final_result = pipe:get()
print(final_result)
https://i-blog.csdnimg.cn/direct/d9c02a541ad14095b897b52ceb39a2b0.png
计算统计择要
Summary() 函数用于计算一个数值数组的最小值(Min)、第一四分位数(1st Qu.)、中位数(Median)、均匀值(Mean)、第三四分位数(3rd Qu.)和最大值(Max)。该函数旨在提供类似于R语言中的summary()函数的功能,方便用户快速相识数据的基本统计信息。
local data = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
leo.Summary(data)
https://i-blog.csdnimg.cn/direct/c47368254844446997ea9ec4c1588b98.png
查找满足条件的元素索引
Which() 函数用于查找满足给定条件的元素索引。条件可以是一个函数或逻辑数组。假如条件是函数,则会遍历数组中的每个元素,并将满足条件的元素索引返回;假如条件是逻辑数组,则返回对应为true的索引。
好比找出比3大的数:
local leo = require "leo"
local data = {1, 2, 3, 4, 5}
local indices = leo.Which(function(x) return x > 3 end, data)
leo.Show(indices)
https://i-blog.csdnimg.cn/direct/779962116ca243fdb5695b8dd5115876.png
检查 nil 元素
Is_na() 函数用于检查数值数组中的每个元素是否为nil,并返回一个逻辑数组,指示每个元素的状态。
local leo = require "leo"
local dataset = {1, nil, 3, nil, 5}
local values = leo.Is_na(dataset)
leo.Show(values)
https://i-blog.csdnimg.cn/direct/eca74c0d76f54abba0d052d0de6ca1b7.png
移除 nil 元素
Na_omit() 函数用于移除数值数组中的所有nil元素,并返回一个新的数组。
local leo = require "leo"
local data = {1, nil, 3, nil, 5}
local result = leo.Na_omit(data)
leo.Show(result)
https://i-blog.csdnimg.cn/direct/70210d8e1d6744eba1074e576ae2ca51.png
忽略 nil 计算均匀值
Narm() 函数用于计算数值数组的均匀值,忽略数组中的nil元素。假如数组中没有非nil的数字元素,则返回nil。
local leo = require "leo"
local data = {1, nil, 3, nil, 5}
local mean = leo.Narm(data)
print(mean)
https://i-blog.csdnimg.cn/direct/dec5318accf148f7ac40e725c648bdce.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]