Julia数据处理常用包_DataFrames包测试2_2020-02-19W

# Julia数据处理常用包_DataFrames包测试2_2020-02-19W

#@ 前面我们学习了如安装Julia第三方包:DataFrames、如何构建DataFrame对象和一些表格数据的操作,那今天我们继续DataFrames的学习和测试

## 1.重新构建DataFrame对象

using DataFrames
mya1 = ["王冕","张峰","李磊","周迅","赵云","苏梅"]
mya2 = ["女","男","男","女","男","女"]
mya3 = [12,14,9,15,8,14]
mya4 = [96,86,75,98,100,63]
mya5 = ["A","B","C","A","A","D"]
studf1 = DataFrame()
studf1[:姓名] = mya1
studf1[:性别] = mya2
studf1[:年龄] = mya3
studf1[:成绩] = mya4
studf1[:评级] = mya5
println(studf1)
print("studf1表格的行数和列数为:",size(studf1))
# 6×5 DataFrame
# │     │ String │ String │ Int64 │ Int64 │ String │
# ├─────┼────────┼────────┼───────┼───────┼────────┤
# │ 1   │ 王冕   │ 女     │ 12    │ 96    │ A      │
# │ 2   │ 张峰   │ 男     │ 14    │ 86    │ B      │
# │ 3   │ 李磊   │ 男     │ 9     │ 75    │ C      │
# │ 4   │ 周迅   │ 女     │ 15    │ 98    │ A      │
# │ 5   │ 赵云   │ 男     │ 8     │ 100   │ A      │
# │ 6   │ 苏梅   │ 女     │ 14    │ 63    │ D      │
# studf1表格的行数和列数为:(6, 5)

## 2.一些函数的应用

### 2.1 获取最大值:maximum

println("学生成绩的最高分:",maximum(studf1.成绩))
# 学生成绩的最高分:100

### 2.2 获取最小值:minimum

println("学生成绩的最低分:",minimum(studf1.成绩))
# 学生成绩的最低分:63

### 2.3 获取总和:sum

println("学生的总成绩:",sum(studf1.成绩))
# 学生的总成绩:518

## 3.升降序排列表格数据:sort!()

### 3.1 升序排列

println("按学生成绩升序排列显示表格信息:")
# 按学生成绩升序排列显示表格信息:
println(sort!(studf1, cols = [:成绩]))
# │ Row │ 姓名   │ 性别   │ 年龄  │ 成绩  │ 评级   │
# │     │ String │ String │ Int64 │ Int64 │ String │
# ├─────┼────────┼────────┼───────┼───────┼────────┤
# │ 1   │ 苏梅   │ 女     │ 14    │ 63    │ D      │
# │ 2   │ 李磊   │ 男     │ 9     │ 75    │ C      │
# │ 3   │ 张峰   │ 男     │ 14    │ 86    │ B      │
# │ 4   │ 王冕   │ 女     │ 12    │ 96    │ A      │
# │ 5   │ 周迅   │ 女     │ 15    │ 98    │ A      │
# │ 6   │ 赵云   │ 男     │ 8     │ 100   │ A      │

### 3.2 降序排列

println("按成绩降序排列显示表格数据:")
# 按成绩降序排列显示表格数据:
println(sort!(studf1, cols = [:成绩], rev = true))
# │ Row │ 姓名   │ 性别   │ 年龄  │ 成绩  │ 评级   │
# │     │ String │ String │ Int64 │ Int64 │ String │
# ├─────┼────────┼────────┼───────┼───────┼────────┤
# │ 1   │ 赵云   │ 男     │ 8     │ 100   │ A      │
# │ 2   │ 周迅   │ 女     │ 15    │ 98    │ A      │
# │ 3   │ 王冕   │ 女     │ 12    │ 96    │ A      │
# │ 4   │ 张峰   │ 男     │ 14    │ 86    │ B      │
# │ 5   │ 李磊   │ 男     │ 9     │ 75    │ C      │
# │ 6   │ 苏梅   │ 女     │ 14    │ 63    │ D      │

## 4.利用describe()函数获取表格的统计信息

### 4.1构建测试数据

using DataFrames
mymatr1 = rand(1:100,10,8)
df = DataFrame(mymatr1)
println("表格数据如下所示:")
println(df)
# 10×8 DataFrame
# │ Row │ x1    │ x2    │ x3    │ x4    │ x5    │ x6    │ x7    │ x8    │
# │     │ Int64 │ Int64 │ Int64 │ Int64 │ Int64 │ Int64 │ Int64 │ Int64 │
# ├─────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
# │ 2   │ 36    │ 39    │ 18    │ 13    │ 85    │ 86    │ 78    │ 22    │
# │ 3   │ 42    │ 11    │ 62    │ 63    │ 29    │ 23    │ 53    │ 39    │
# │ 4   │ 18    │ 95    │ 72    │ 72    │ 22    │ 31    │ 52    │ 35    │
# │ 5   │ 59    │ 49    │ 28    │ 53    │ 41    │ 18    │ 95    │ 56    │
# │ 6   │ 43    │ 33    │ 70    │ 45    │ 100   │ 48    │ 34    │ 21    │
# │ 7   │ 30    │ 67    │ 12    │ 55    │ 8     │ 23    │ 73    │ 44    │
# │ 8   │ 1     │ 92    │ 4     │ 29    │ 90    │ 92    │ 65    │ 99    │
# │ 9   │ 46    │ 1     │ 44    │ 18    │ 80    │ 58    │ 66    │ 70    │
# │ 10  │ 31    │ 70    │ 1     │ 58    │ 53    │ 78    │ 70    │ 42    │

### 4.2使用describe()函数

mydes = describe(df) 
println("测试数据的统计信息如下:")
println(mydes)
# 8×8 DataFrame
# │ Row │ variable │ mean    │ min   │ median  │ max   │ nunique │ nmissing │ eltype   │
# ├─────┼──────────┼─────────┼───────┼─────────┼───────┼─────────┼──────────┼──────────┤
# │ 1   │ x1       │ 40.1    │ 1     │ 39.0    │ 95    │         │          │ Int64    │
# │ 2   │ x2       │ 52.8    │ 1     │ 58.0    │ 95    │         │          │ Int64    │
# │ 3   │ x3       │ 38.6    │ 1     │ 36.0    │ 75    │         │          │ Int64    │
# │ 4   │ x4       │ 44.2    │ 13    │ 49.0    │ 72    │         │          │ Int64    │
# │ 5   │ x5       │ 51.2    │ 4     │ 47.0    │ 100   │         │          │ Int64    │
# │ 6   │ x6       │ 53.9    │ 18    │ 53.0    │ 92    │         │          │ Int64    │
# │ 7   │ x7       │ 64.5    │ 34    │ 65.5    │ 95    │         │          │ Int64    │
# │ 8   │ x8       │ 44.0    │ 12    │ 40.5    │ 99    │         │          │ Int64    │

## 5.好了,今天就到这里


#@ 苦难和孤独是一个人最好的老师!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值