和Array相比: A new Julia type that represents a missing value NA。另外,在数据的操作友好性上,提供了对象性操作方式,而不是冰冷的数据下标。
    缺点是,其效率没有Array高。如果数据操作量大,效率会受到一定的影响,这个有些象MATLAB中的dataset.
    当然,要用DataFrame,首先要加DataFrames库包,另外,using DataFrames.
   1、对象化操作
     假设,A:是字段,B也是字段
julia> df = DataFrame(A = 1:4, B = ["M", "F", "F", "M"])
4x2 DataFrame:
        A   B
[1,]    1 "M"
[2,]    2 "F"
[3,]    3 "F"
[4,]    4 "M"
julia> df["A"] #df[:A]  对象化操作的方式,再也不是第几行,第几列了,人性化呀
4-element DataArray{Int64,1}:
 1
 2
 3
 4
 2、增加列操作
julia>df["c"]=2:5  # 增加一列
2:5
julia> df
4x3 DataFrame:
        A  B c
[1,]    1 "M" 2
[2,]    2 "F" 3
[3,]    3 "F" 4
[4,]    4 "M" 5

3、 增加一行操作
julia> de =DataFrame(A = 2,B ="g",c=5)
1x3 DataFrame:
        A  B c
[1,]    2 "g" 5
julia> df =vcat(df,de)
5x3 DataFrame:
        A  B c
[1,]    1 "M" 2
[2,]    2 "F" 3
[3,]    3 "F" 4
[4,]    4 "M" 5
[5,]    2 "g" 5
 
4、读到csv,txt 的IO操作
主要函数格式有:
df =readtable("data.csv")
df = readtable("data.tsv")
df =readtable("data.wsv")
df =readtable("data.txt", separator = '\t')
df =readtable("data.txt", header = false)
 比如:读CSV数据
julia> @time df =readtable("C:\\Users\\Administrator\\Desktop\\julia\\mydatacsv.csv")
elapsed time: 0.321465977 seconds(12324052 bytes allocated)
DataFrame with 5085 rows, 11columns
Columns:
FutureCode        5085 non-null values   
DateTime          5085 non-null values   
BarEndTime        5085 non-null values   
Close             5085 non-null values   
Open              5085 non-null values   
High              5085 non-null values   
Low               5085 non-null values   
PreClose          5085 non-null values   
Volume            5085 non-null values   
OpenInterest      5085 non-null values   
BarCount          5085 non-null values   
5、 写操作
格式:
writetable("output.csv",df)
writetable("output.dat",df, separator = ',', header = false)
writetable("output.dat",df, quotemark = '\'', separator = ',')
writetable("output.dat",df, header = false)

6、索引和条件检索

df = DataFrame(A = 1:10) 
# 索引 注意:和MATLAB不一样,所有的向量计算,都加了一个".",否则容易出错!
julia> df[df[:Close].>2000,:]
DataFrame with 5085 rows, 11columns
Columns:
FutureCode        5085 non-null values   
DateTime          5085 non-null values   
BarEndTime        5085 non-null values   
Close             5085 non-null values   
Open              5085 non-null values   
High              5085 non-null values   
Low               5085 non-null values   
PreClose          5085 non-null values   
Volume            5085 non-null values   
OpenInterest      5085 non-null values   
BarCount          5085 non-null values

7、类型判断
julia> typeof(df)
DataFrame (constructor with 22 methods)

8、合并操作
# 合并,vcat,join 操作,但没有看到push! ,append! add!

julia> @time vcat(hh,kk)
elapsed time: 0.00010462 seconds (110802x2 DataFrame:
       A    B
[1,]    5.0  10.0
[2,]    1.0  9.0
 
julia> @time vcat(df,kk) # 时间增加了三倍
elapsed time: 0.000374261 seconds (84696 bytes allocated)
1001x2 DataFrame:
           A    B
[1,]        1.0  9.0
[2,]        5.0 10.0
[3,]        3.0  6.0
.......
julia> @time vcat(df,df) # 时间还在增长
elapsed time: 0.000719703 seconds (181256 bytes allocated)
2000x2 DataFrame:
           A    B
[1,]        1.0  9.0
[2,]        5.0 10.0
[3,]        3.0  6.0
.....

Julia: DataFrame最大的好处是对NA的处理和对象化操作!相关推荐

  1. R语言自定义函数计算dataframe每列中的缺失值NA的个数、缺失值问题及其填充示例

    R语言自定义函数计算dataframe每列中的缺失值NA的个数.缺失值问题及其填充示例 目录

  2. R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计、所有特征的NA值统计

    R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计.所有特征的NA值统计 目录

  3. Python数据分析实战-提取DataFrame(Excel)某列(字段)最全操作(附源码和实现效果)

    实现功能: Python数据分析实战-提取DataFrame(Excel)某列(字段)最全操作,代码演示了单列提取和多列提取两种情况,其中单列提取有返回series格式和dataframe两种情况,在 ...

  4. Spark中dataframe里data.drop()和data.na.drop()的区别

    问题描述:原始数据data总行数是1303638,使用data.drop()后数据总行数是1303638,使用data.na.drop()后数据总行数是0:为啥data.drop()没有丢弃null或 ...

  5. dataframe,python,numpy 问题索引1

    # 找出只有赌场数据的账户 gp=data.groupby(['查询账号','场景标签'],as_index=True) tj=gp.size().reset_index()按查询账号和场景标签分组并 ...

  6. 数据科学教程:R语言与DataFrame[2016版]

    数据科学教程:R语言与DataFrame[2016版] r HarryZhu 2016年03月16日发布 保存 标签:至少1个,最多5个 r× 开发语言 平台框架 服务器 数据库和缓存 开发工具 系统 ...

  7. dataframe 如何选中某列的一行_PySpark和SparkSQL基础:如何利用Python编程执行Spark(附代码)

    作者:Pinar Ersoy 翻译:孙韬淳 校对:陈振东 本文约2500字,建议阅读10分钟 本文通过介绍Apache Spark在Python中的应用来讲解如何利用PySpark包执行常用函数来进行 ...

  8. python dataframe的某一列变为list_Python数据分析系列文章之Pandas(上)

    本篇是[机器学习与数据挖掘]头条号原创首发Python数据分析系列文章的第三篇 Python数据分析系列文章之Python基础篇 Python数据分析系列文章之Numpy Python数据分析系列文章 ...

  9. Python中三种表示NA的方式

    Python中三种表示NA的方式 # -*- coding: utf-8 -*- import numpy as np import pandas as pd# data_frame = np.loa ...

  10. Apache Spark 3.0 SQL DataFrame和DataSet指南

    目录 简介 SQL 数据集和数据框 入门 起点:SparkSession Scala语言 Java语言 Python语言 R语言 创建DataFrame Scala语言 Java语言 Python语言 ...

最新文章

  1. Flex和java开发的参考书
  2. matlab2010alinux下载,Linux matlab 2010a 下载与安装过程
  3. 十分钟教你开发EOS智能合约
  4. 救命,Linux正在吃掉我的内存!
  5. Redis队列php多线程请求
  6. [leetcode]112.路径总和
  7. 一起动手打造个人娱乐级linux
  8. ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证
  9. 【修改电脑版微信提示音】
  10. 阿里云mysql宽带_阿里云数据库RDS MySQL版购买使用详细过程
  11. 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用
  12. 大家给推荐个4k显示器吧,码农,不玩游戏,护眼第一。
  13. 查找算法与排序算法之Python实现
  14. 又老了一岁,祝自己生日快乐。。。
  15. 基于springboot小型车队管理系统毕业设计源码061709
  16. 【渝粤教育】 广东开放大学21秋期末考试刑事诉讼法学10228k2
  17. pthread_cancel 线程阻塞问题
  18. 全向移动平台运动参数分析
  19. LEDE/Openwrt 打印机插件 CUPS,在WIN10下添加打印机(打印机连接路由器进行远程打印)
  20. 读《DevOps实践指南》笔记二

热门文章

  1. JDK版本更换后编译android系统出错
  2. ERROR 1044 (42000)
  3. RD与RT MPLS
  4. MySQL-快速入门(4)MySQL函数
  5. JZOJ 1259. 牛棚安排
  6. There is no getter for property named 'userId' in 'class java.lang.String'
  7. 项目中初试PHP单元测试
  8. property attribute: assign, strong, weak, unsafe_unretain and copy
  9. text-overflow:ellipsis
  10. Android -- 闹钟服务的使用(单次闹钟)