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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM