这篇主要比较R语言的data.talbe和python的pandas操作数据框的形式, 学习两者的异同点, 加深理解两者的使用方法。 1. data.table VS pandas这里使用R语言的 主要分为三部分:
2. data.table操作数据框data.table介绍: library(data.table) 2.1 行选择选择单行 # 行选择 选择多行 DT[3:5] 选择列 DT[,2]
DT[,.(V2)] # 同上
DT[,list(V2)] 2.2 行列筛选选择V2等于A的列 DT[V2=="A"]
DT[V2=="A",] 如果选择V2等于A或者等于B的列 DT[V2 == "A"|V2=="B"]
DT[V2 %in% c("A","B")] 新建一列V5 DT[,V5:=V3*V4] 2.3 使用fwrite保存数据fwrite(DT,"DT.csv") 3. pandas操作数据框读取数据 import pandas as pd 3.1 行列选择
df[0:1] # 如果直接使用, 需要给出区间
# loc 根据行名 也可以根据iloc进行提取 # iloc 根据行号 注意, iloc是根据行号, loc是根据行名 选择多行 df[3:6] # 3包括, 6不包括 同上: df.loc[3:5] 3.2 pandas选择列df["V2"] 也可以使用列数, 使用iloc df.iloc[:,1:2] 如果使用多个列名, 要用 df[["V1","V2"]] # 用两个[][]
df.iloc[:,0:2] 3.3 pandas行列筛选df[df['V2']=="A"] 或者: df[df['V2']=="A"] 多条件筛选 # 麻烦style: (df['V2']=='A')|(df['V2']=='B') 也可以使用isin进行操作: # 使用.V2.isin()进行多条件筛选 # 使用[].isin也可以 创建新列V5 df.V5 = df.V3*df.V4 3.4 pandas保存文件如果是R的思维: write.csv(object, "file.csv") 但是pandas的风格是 object.to_csv("file.csv") 正确有效的代码: df.to_csv("df.csv",index=0) # 对象.to_csv, 不是pd.write(df,"df.csv")!!!
|
|