R vs Python:构建data.frame读取csv与统计描述

Posted Hider1214

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R vs Python:构建data.frame读取csv与统计描述相关的知识,希望对你有一定的参考价值。

一、Python

  数据框就是典型的关系型数据库的数据存储形式,每一行是一条记录,每一列是一个属性,最终构成表格的形式,这是数据科学家必须熟悉的最典型的数据结构。

1.构建数据框

import pandas as pd

data = {year:[2010, 2011, 2012, 2010, 2011, 2012, 2010, 2011, 2012],
        team:[FCBarcelona, FCBarcelona, FCBarcelona, RMadrid, RMadrid, RMadrid, ValenciaCF, ValenciaCF, ValenciaCF],
        wins:[30, 28, 32, 29, 32, 26, 21, 17, 19], 
        draws: [6, 7, 4, 5, 4, 7, 8, 10, 8], 
        losses: [2, 3, 2, 4, 2, 5, 9, 11, 11] }

# 构建数据框
football = pd.DataFrame(data, columns = [year,team,wins,draws,losses])
type(data)
type(football)

2.读取csv文件

# 读取csv文件
edu = pd.read_csv(C:\Users\Hider\Desktop\educ_figdp_1_Data.csv, na_values=:,usecols=[TIME,GEO,Value])
# na_values 把“:”符号认为缺失值

3.统计描述

# 前几行 缺失值取5行
edu.head(10)

# 后几行 缺失值取5行
edu.tail(10)

# 列名
edu.columns

# 行名
edu.index

# 汇总统计
edu.describe()
# count/mean/std/min/25%/50%/75%/max

二、R语言

  R语言中自带data.frame数据框格式,tidyverse包中所使用的tibble类型更是数据框的增强版。

1.构建数据框

install.packages("dplyr")
install.packages("tidyverse")
library(dplyr)
library(tidyverse)

year=c(2010, 2011, 2012, 2010, 2011, 2012, 2010, 2011, 2012) 
team=c(FCBarcelona, FCBarcelona, FCBarcelona, RMadrid, RMadrid, RMadrid, ValenciaCF, ValenciaCF, ValenciaCF) 
wins=c(30, 28, 32, 29, 32, 26, 21, 17, 19) 
draws=c(6, 7, 4, 5, 4, 7, 8, 10, 8) 
losses=c(2, 3, 2, 4, 2, 5, 9, 11, 11)

football <- tibble(year,team,wins,draws,losses)

2.读取csv文件

read.csv(C:\Users\Hider\Desktop\educ_figdp_1_Data.csv,na=:,) %>% select(TIME,GEO,Value) -> edu

3.统计描述

edu %>% head
edu %>% tail
edu %>% colnames
edu %>% rownames
edu %>% summary

# 在tidyverse生态中的tibble是增强型的data.frame
# 管道操作 %>%

三、对比

1.Python需要调用pandas包,R可以不用,但使用tidyverse包中的tibble更强;

2.Python使用字典来构建,R中通过等长向量来合并生成;

3.Python读取csv时可以选取列,R中是先读进内存再做筛选;

4.Python缺失值为NaN,R中为NA;

5.Python的index由0开始,R由1开始;

6.R可向右赋值,更加灵活,并且单向的管道函数“%>%”能更加自由的揉捏数据。


END 2018-11-01 00:22:43

 

以上是关于R vs Python:构建data.frame读取csv与统计描述的主要内容,如果未能解决你的问题,请参考以下文章

将 R data.frame/tbl 导出到 Google BigQuery 表

python pandas Data.Frame -- iloc和loc以及icol

R语言读数据

将 R data.frame 强制转换为 nz.data.frame 时出错

R data.frame

R data.frame