目录
一. Julia简介
二. Dataframe构造方法
1)访问列的方式
(a)判断严格相等
i. 切片严格相等是true
ii. 复制严格相等是false
(b)判断相等
i. 切片相等是true
ii. 复制相等是true
2)获取列名称
(a)使用names函数获取列名
(b)通过第二个参数过滤条件来选择列名
(c)使用propertynames函数将列名称作为Symbol
3)通过列构造新的列
4)通过行构造新的行
5)通过另一个表类型构造
一. Julia简介
Julia是一种即时(Just-In-Time,JIT)编译语言,而不是脚本(解释)语言(如Python,R,Ruby等)。这使得Julia作为是一种动态的高级语言, 无需浪费时间走一趟解释器,就能被编译为可在CPU上直接执行的机器代码。同时也不像C语言那样,在运行前才能全部编译,因而具备更多灵活度和交互能力。
与Python对比
二. Dataframe构造方法
DataFrames包可通过Julia包系统获得,并且可以使用以下命令进行安装:
DataFrame是一个表格型的数据结构,用向量(vectors)组成的序列(series)表示数据表,每个序列对应列或一组变量。最简单的DataFrame构造方法,是使用关键字参数或传递一对列向量:
1)访问列的方式
df.A、df."A”:列可以直接访问(即无需复制)
df[!, :A]、df[!, "A"]:更灵活,因为它们允许传递列名,并且不仅仅是一个名称,还可以是符号(如df[!, :var"A"]或df[!, Symbol("A")])或字符串(如df[!, "A"])。
df[[1,3],:A]:还可以使用整数指定其位置的索引来访问列。
df[!,:col]:切片,不会复制,更改列中元素将会改变df的原始值。
df[:,:col] :复制,获取列的副本,更改列中元素不会改变df。
(a)判断严格相等
i. 切片严格相等是true
ii. 复制严格相等是false
(b)判断相等
i. 切片相等是true
ii. 复制相等是true
2)获取列名称
(a)使用names函数获取列名
(b)通过第二个参数过滤条件来选择列名
(c)使用propertynames函数将列名称作为Symbol
DataFrames.jl允许使用Symbol (:A)和字符串("A")操作所有列索引。但是,使用Symbol更快一点
如果不声明它们(generating),通常应该是首选通过字符串操作。
3)通过列构造新的列
从一个空的DataFrame开始并一一新增列:
4)通过行构造新的行
逐行构造“DataFrame"的性能明显低于一次全部构建,或逐列构建。对于许多用例,这无关紧要,但对于非常大的DataFramei这可能是一个需要考虑的因素。
首先构造一个空的具有两列的数据框(第一列元素类型是整数,第二个元素类型是字符串):
5)通过另一个表类型构造
DataFrames支持Tables.jl接口与表格数据交互。这意味着“DataFrame”可以用作“源”链接到任何需要Tables.jl接口输入的包,(文件格式包,数据操作包等)。DataFrame也可以是任何Tables.jl的接收器接口输入。
Bye!