|
這篇主要比較R語言的data.talbe和python的pandas操作數(shù)據(jù)框的形式, 學(xué)習(xí)兩者的異同點, 加深理解兩者的使用方法。 1. data.table VS pandas這里使用R語言的 主要分為三部分:
2. data.table操作數(shù)據(jù)框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保存數(shù)據(jù)fwrite(DT,"DT.csv")3. pandas操作數(shù)據(jù)框讀取數(shù)據(jù) import pandas as pd
3.1 行列選擇
df[0:1] # 如果直接使用, 需要給出區(qū)間
# loc 根據(jù)行名也可以根據(jù)iloc進(jìn)行提取 # iloc 根據(jù)行號注意, iloc是根據(jù)行號, loc是根據(jù)行名 選擇多行 df[3:6] # 3包括, 6不包括同上: df.loc[3:5]
3.2 pandas選擇列df["V2"]
也可以使用列數(shù), 使用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進(jìn)行操作: # 使用.V2.isin()進(jìn)行多條件篩選# 使用[].isin也可以
創(chuàng)建新列V5 df.V5 = df.V3*df.V4
3.4 pandas保存文件如果是R的思維: write.csv(object, "file.csv")但是pandas的風(fēng)格是 object.to_csv("file.csv")正確有效的代碼: df.to_csv("df.csv",index=0) # 對象.to_csv, 不是pd.write(df,"df.csv")!!!
|
|
|