Pandas中數據的處理

 

有兩種丟失數據html

——Nonepython

——np.nan(NaN)json

Nonepython自帶的,其類型爲python object。所以,None不能參與到任何計算中函數

Object類型的運算比int類型的運算慢的多spa

 

計算不一樣數據類型求和時間excel

 

%timeit np.arange(1e5,dtype=xxx).sum()orm

%timeit是指python表達式或語句的執行時間htm

Pandas中的nonenp.nan都視做np.nan索引

 

數據清洗內存

 

df.loc[index,column] ------>元素索引,確定能夠修改

df[column][index] --------->列是屬性,確定能夠修改

df.loc[index][column] ----->從df中取出了樣本,對取出來的數據進行了修改,原數據沒變

現獲取列,在獲取行

如:df["python"][3] = np.nan

先獲取行,再獲取列

df.loc[3]["python"] = np.nan

先獲取行,是將樣本數據取出來,在內存中的內存地址就不同了,修改數據失敗

df.loc[3,5] =np.nan

 

 

PandasNonenp.NaN的操做

 

Isnull():判斷是否有空數據

Notnoll():判斷是否沒有空數據

Dropna():過濾丟失數據

Fillna():填充丟失數據

(1)判斷函數Isnull()Notnull()

查找空數據

如:cond=df.isnull().any(axis=1)

df[cond]

 

過濾掉空數據

如:cond = df.notnull().all(axis=1)

df[cond]

(2)過濾函數Dropna()

如:df.dropna(),刪除df表中的含有空數據的樣本

能夠選則過濾的是行仍是列(默認過濾行)

也能夠選擇過濾的方式how=all

 

(3)數據填充fillna()

Fillna()屬性

['value=None', 'method=None', 'axis=None', 'inplace=False', 'limit=None', 'downcast=None', '**kwargs']

 

對浮點數小數位數進行限定

pd.set_option("display.float_format",lambda x:"%0.1f"%(x))     #保留一位爲%0.1,保留兩位爲%0.2,以此類推

注意:

         1.對於空數據,通常進行填充時填充該列的平均值、中位數、衆數進行填充。

         2.對於和是用什麼數據進行填充還得根據實際狀況來決定

         3.正態分佈使用平均值和中位數差異不大。

**計算平均數的用mean()

如:value=df.mean()

df.fillna(value)

**計算中位數用:median()

如:value1 = df.median()

df.fillna(value1)

填充數據可選擇行方向和列方向的向前填充或是向後填充

df.fillna(method="bfill",axis=1)#向後填充

df.fillna(method="ffill",axis=1) #向前填充

df.fillna(value=values,limit=1)  #限制填充的行數,默認從第一行開始

**統計衆數:np.unique(s)

使用衆數進行填充同上

 

Pandas中文件的讀取和寫入

 

將數據存儲到csv格式的文本

s1.to_csv("./data1.csv",sep=',',index = False)   

#存成csv格式,csv就是txt格式,用逗號進行分割,index表示是否將索引也存儲進去

#注意重點是sep分隔符和index索引的設置

          

csv格式的文本數據導入到jupyter中

如:pd.read_csv("./data1.csv")

 

將數據存儲成html格式

s3.to_html("./data.html")

pd.read_excel(「./data.htm」)

 

將文件存儲成json格式

s3.to_json("./data.json")

pd.read_json("./data.json")

將文件存儲成excel格式的文件

s3.to_excel("./data.xls")

pd.read_excel("./data.xls")

 

有兩種丟失數據

——None

——np.nan(NaN)

Nonepython自帶的,其類型爲python object。所以,None不能參與到任何計算中

Object類型的運算比int類型的運算慢的多

 

計算不一樣數據類型求和時間

 

%timeit np.arange(1e5,dtype=xxx).sum()

%timeit是指python表達式或語句的執行時間

Pandas中的nonenp.nan都視做np.nan

 

數據清洗

 

df.loc[index,column] ------>元素索引,確定能夠修改

df[column][index] --------->列是屬性,確定能夠修改

df.loc[index][column] ----->從df中取出了樣本,對取出來的數據進行了修改,原數據沒變

現獲取列,在獲取行

如:df["python"][3] = np.nan

先獲取行,再獲取列

df.loc[3]["python"] = np.nan

先獲取行,是將樣本數據取出來,在內存中的內存地址就不同了,修改數據失敗

df.loc[3,5] =np.nan

 

 

PandasNonenp.NaN的操做

 

Isnull():判斷是否有空數據

Notnoll():判斷是否沒有空數據

Dropna():過濾丟失數據

Fillna():填充丟失數據

(1)判斷函數Isnull()Notnull()

查找空數據

如:cond=df.isnull().any(axis=1)

df[cond]

 

過濾掉空數據

如:cond = df.notnull().all(axis=1)

df[cond]

(2)過濾函數Dropna()

如:df.dropna(),刪除df表中的含有空數據的樣本

能夠選則過濾的是行仍是列(默認過濾行)

也能夠選擇過濾的方式how=all

 

(3)數據填充fillna()

Fillna()屬性

['value=None', 'method=None', 'axis=None', 'inplace=False', 'limit=None', 'downcast=None', '**kwargs']

 

對浮點數小數位數進行限定

pd.set_option("display.float_format",lambda x:"%0.1f"%(x))

對於空數據,通常進行填充時填充該列的平均值、中位數、衆數進行填充。

對於和是用什麼數據進行填充還得根據實際狀況來決定

正態分佈使用平均值和中位數差異不大。

**計算平均數的用mean()

如:value=df.mean()

df.fillna(value)

**計算中位數用:median()

如:value1 = df.median()

df.fillna(value1)

填充數據可選擇行方向和列方向的向前填充或是向後填充

df.fillna(method="bfill",axis=1)#向後填充

df.fillna(method="ffill",axis=1) #向前填充

df.fillna(value=values,limit=1)  #限制填充的行數,默認從第一行開始

**統計衆數:np.unique(s)

使用衆數進行填充同上

 

Pandas中文件的讀取和寫入

 

將數據存儲到csv格式的文本

s1.to_csv("./data1.csv",sep=',',index = False)   

#存成csv格式,csv就是txt格式,用逗號進行分割,index表示是否將索引也存儲進去

#注意重點是sep分隔符和index索引的設置

          

csv格式的文本數據導入到jupyter中

如:pd.read_csv("./data1.csv")

 

將數據存儲成html格式

s3.to_html("./data.html")

pd.read_excel(「./data.htm」)

 

將文件存儲成json格式

s3.to_json("./data.json")

pd.read_json("./data.json")

將文件存儲成excel格式的文件

s3.to_excel("./data.xls")

pd.read_excel("./data.xls")

相關文章
相關標籤/搜索