一、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与统计描述的更多相关文章

  1. 将R非时间序列的data.frame转变为时序格式

    将R非时间序列的data.frame转变为时序格式,常常会用到,尤其是股票数据处理中, 举例:dailyData包括两列数据:Date Close10/11/2013 871.9910/10/2013 ...

  2. LOAD DATA INFILE读取CSV中一千万条数据至mysql

    作业要求 构建一个关系模式和课本中的关系movies(title,year,length,movietype,studioname,producerC)一样的关系,名称自定,在这个关系中插入1000万 ...

  3. python的pandas库读取csv

    首先建立test.csv原始数据,内容如下 时间,地点 一月,北京 二月,上海 三月,广东 四月,深圳 五月,河南 六月,郑州 七月,新密 八月,大连 九月,盘锦 十月,沈阳 十一月,武汉 十二月,南 ...

  4. R 语言处理excel为data.frame

    使用 R包 xlsx 或者 openxlsx 安装 install.packages("xlsx", repos="https://cloud.r-project.org ...

  5. R语言Data Frame数据框常用操作

    Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的. Data Frame每一列有列名,每一行也可 ...

  6. 转载:R语言Data Frame数据框常用操作

    Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的. Data Frame每一列有列名,每一行也可 ...

  7. 【Selenium + Python】之 Excel、CSV、XML文件读取数据并运用数据百度查询

    目录 从Excel读取数据进行百度搜索 从CSV读取数据进行百度搜索 从XML读取数据进行登录操作 附:其他学习资料(<xml.etree.ElementTree模块>.<pytho ...

  8. python读取csv转换为dataframe

    前言: 由于在处理结构性数据的时候经常会读取本地形如:.xls.xlsx.csv等的数据.所以今天就花了点时间来总结一下利用python读取csv数据并且转换为dataframe的数据框架.话不多说, ...

  9. Data manipulation primitives in R and Python

    Data manipulation primitives in R and Python Both R and Python are incredibly good tools to manipula ...

随机推荐

  1. NSLineBreakByWordWrapping和NSLineBreakByCharWrapping

    在iOS开发过程中,在文本的lineBreakMode中有以下几个功能: NSLineBreakByWordWrapping = 0 //以空格为界,保留整个单词. NSLineBreakByChar ...

  2. R语言数据整理

    基本操作 读入csv数据 data <- read.csv("D:/Project/180414/data.csv", header = TRUE) 写出csv数据 writ ...

  3. linux命令总结之lsof命令

    简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控 ...

  4. python【数据类型:列表与元组】

    python列表: 定义一个列表:cities=['北京','上海','广州','深圳'] 注意:列表的下标0表示第一个元素,下标-1表示最后一个元素 列表增加元素 在列表末尾添加一个元素:citie ...

  5. P1392 取数

    P1392 取数 题目描述 在一个n行m列的数阵中,你须在每一行取一个数(共n个数),并将它们相加得到一个和.对于给定的数阵,请你输出和前k小的取数方法. 说明 对于20%的数据,n≤8 对于100% ...

  6. UITextView默认文字提示

    在UITextField中自带placeholder属性,可以用于提示输入框信息.但是UITextView并不具备此功能介绍两种方法来实现:第一种:初始化UITextView//首先定义UITextV ...

  7. windows10安装配置scikit-learn步骤

    安装python-2.7.13.msi(到C:\Python27),把C:\Python27和C:\Python27\Scripts添加到系统环境变量 安装numpy:下载numpy-1.11.3+m ...

  8. bzoj千题计划137:bzoj [CQOI2014]危桥

    http://www.lydsy.com/JudgeOnline/problem.php?id=3504 往返n遍,即单向2*n遍 危桥流量为2,普通桥流量为inf 原图跑一遍最大流 交换b1,b2再 ...

  9. DFS——>记忆化搜索——>动态规划

    以洛谷P1802  5倍经验日 为例 https://www.luogu.org/problem/show?pid=1802 题目背景 现在乐斗有活动了!每打一个人可以获得5倍经验!absi2011却 ...

  10. Java并发编程原理与实战四:线程如何中断

    如果你使用过杀毒软件,可能会发现全盘杀毒太耗时间了,这时你如果点击取消杀毒按钮,那么此时你正在中断一个运行的线程. java为我们提供了一种调用interrupt()方法来请求终止线程的方法,下面我们 ...