import pandas as pd
#讀取檔案
df = pd.read_csv(
filepath_or_buffer=『路徑』,
sep=』,』,#csv檔案分割為逗號,其他為』\t』
skiprows=1,#讀取跳過第一行
nrows=10,#讀取前10行資料
parse_data=[『列名』]#指定列以日期的形式輸入
index_col=[『列名』]#指定列設為index否則為0,1,2,3…
usecols=[『列的名字』]#讀取所寫的列
error_bad_lines=false,#存在有誤資料跳過不讀
na_values=『null』#所有null識別為空集
)#資料結構dataframe:列columns,行index,位置position[i,j],i,j從0開始
#匯入資料read_table,read_excel,read_json
「」「檢視資料」""
df.shape#行列
df.columns#輸出列名
df.index#輸出行名
df.dtypes#每列的資料型別
df.head(5)#輸出前5行
df.tail(3)#尾3行
df.sample(4/frac=比例)#隨機抽4行
df.describe()#每一列的統計資訊:大,小,均值,分位數
「」「對print輸出格式控制」""
pd.set_option(『expand_frame_repr』, false)#列太多也不換行
pd.set_option(『max_colwidth』,8)#設定輸出寬度
「」「選取指定行列」""
df[『列名』]#df[[『n1』,『n2』]],也可以使用df[[0,1,2]]
df.loc[『行名』]
df.loc[『始行』:『末行』,『始列』:『末列』]
df.at[『行』,『列』]
##df.iloc[行序,列序],df.iat[行序,列序]
「」「其他函式」""
df[『列排名』]=df[『列名』].rank(ascending=true,pct=false)#排名,ascending順序,pct表示排名的百分比
print([『列名』,『列排名』])
df[『列名』].value_counts()#計數,統計每個元素出現次數
「」「篩選操作」""
df[『列名』]『aaa』#判斷每個是否都是『aaa』
df[df[『列名』]『aaa』]#輸出行是『aaa』
df[df[『列名』].isin[『aaa』,『bbb』,『ccc』]#滿足輸出
df[條件a&條件b]
『』『刪除缺失值』』』
df.dropna(how=『any』)#how=『any』此行某個元素為空值就刪除,=『all』全部空值刪除
df.dropna(subset=[』』,』』],how=『any』)#只看subset中的資料,兩個都為空,刪除
df.fillna(value=』』)#遇到空值將內容補上去
df[『a』].fillna(value=df[『b』],inplace=true)#將b補充a的空值
df.fillna(method=『ffill』)#先前去尋找最近的非空值補上,向下bfill
df.notnull()#判斷是否為非空值df.isnull()
df[df[』』].notnull()]
『』『排序函式』』』
df.reset_index(inplace=true)
df.sort_values(by=[『排列列名』],ascending=1)
df.sort_values(by=[『排列列名1』,『排列列名2』],ascending=[1,1])#多列排序
pandas學習筆記
import numpy as np import pandas as pd obj2 pd.series 4,7,5,3 index d b a c obj2 out 99 d 4 b 7 a 5 c 3 dtype int64 a b pd.series a bout 102 a 1 b 2 c...
pandas學習筆記
1 建立物件,瀏覽資料 建立物件,瀏覽資料 import pandas as pd import numpy as np import matplotlib.pyplot as plt 建立series s pd.series 1,2,4,6,np.nan,9,10 index list abcde...
pandas學習筆記
1.series 類似numpy中的一維陣列,表示為索引 從0開始 和值。建立 import pandas as pd,numpy as np s1 pd.series np.arange 10 s2 pd.series 12 2,5 s3 pd.series 含有的屬性 s1.values s1....