1. path = 「e:\\xx\\xx\names\\yob1880.txt」
因為是字串,所以要加轉義字元才能順利找到路徑
2. pandas.read_csv()
讀取csv(逗號分割)檔案到dataframe,也支援檔案的部分匯入和選擇迭代。一些引數:
(1)filepath_or_buffer:str,pathlib,str,pathlib.path,py._path.local.localpathor any object with a read() method (such as a file handle or stringio)。可以是url,可用url型別包括:http, ftp, s3和檔案。
(2)sep : str, default 『,』指定分隔符。如果不指定引數,則會嘗試使用逗號分隔。分隔符長於乙個字元並且不是『\s+』,將使用python的語法分析器。並且忽略資料中的逗號。
3. names1880.groupby('***').births.sum()
當想要只看某一(些)列的時候,可以通過索引來實現,在 groupby 方法呼叫前後均可(這是一種語法糖)。
在分組上應用size()、sum()、count()等統計函式,能分別統計分組數量、不同列的分組和、不同列的分組數量。
對於分組的某一列或者多個列,應用agg(func)可以對分組後的資料應用func函式。例如:用group1['data1'].agg('mean')對分組後的』data1』列求均值。當然也可以推廣到同時作用於多個列和使用多個函式上。
4. names = pd.concat(pieces, ignore_index=true)
concat預設是按行將多個dataframe組合到一起。
必須指定ignore_index=true,因為我們不希望保留read_csv所返回的原始行號
5. total_births=names.pivot_table('births',index='year',columns='***',aggfunc=sum)
pivot_table()方法可以產生類似於excel資料透視表的結果,相當的直觀。
其中引數index指定「行」鍵,columns指定「列」鍵。
aggfunc引數表示聚合函式或函式列表,預設值為mean(求平均),可以是任何對groupby有效的函式
margins引數表示新增行/列小計和總計,預設false。
6. np.allclose(names.groupby(['year','***']).prop.sum(),1)
在執行這樣的分組處理時,一般都應該做一些有效性檢查,比如驗證所有分組的prop的總和是否為1。由於這是乙個浮點數型別,所以我們用np.allclose來檢查這個分總計值是否足夠近似於(可能不會精確等於)1
7. pandas.dataframe.sort_values()
幾個引數:by 根據此引數來決定**的軸 ascending。true表示公升序,false表示降序,預設true。
8. pandas.dataframe.cumsum()
返回請求軸的累計和
9. pandas.series.searchsorted()
prop_cumsum =df.sort_values(by='prop',ascending=false).prop.cumsum()
prop_cumsum.searchsorted(0.5)
先將**根據prop列進行排序,然後用searchsorted方法查詢在**插入0.5這個數值。返回的結果型別是乙個narray,因為是從0開始的,之後用的時候記得+1。
10. 關於stack和unstack
diversity = diversity.unstack('***')
二重multiindex的series可以unstack()成dataframe
dataframe可以stack成擁有二重multiindex的series
(對於multindex的大概就是索引值中存在多元的list,索引本身建立之後不可變)
11. 關於dataframe選取資料方法loc,iloc,ix
df = pd.dataframe(np.random.randn(6,4),columns= list(『abcd』))
對於這樣乙個data frame來說,建立的時候規定了列名abc d,行名是預設的數字
.loc可以獲取行,如果想要選擇行中相應的列,需要知道對應的列名
.iloc也是獲取行,但是如果想要選擇行中相應的列,只需要知道列的序號(所以.iloc可以對列進行切片)
.ix 的功能就更強大了,它允許我們混合使用下標和名稱進行選取。 可以說它涵蓋了前面所有的用法。基本上把前面的都換成df.ix都能成功,但是有一點,就是df.ix [ [ ..1.. ], [..2..] ], 1框內必須統一,必須同時是下標或者名稱,2框也一樣。
利用python進行資料分析
目錄 10 minutes to pandas 翻譯 pandas中loc iloc ix的區別 pandas dropna函式 pandas中dataframe的stack unstack 和pivot 方法的對比 pandas中關於set index和reset index的用法 python匿...
利用python進行資料分析
利用python進行資料分析,需要了解一些基本的方法,比如掌握回歸分析的方法,通過線性回歸和邏輯回歸,其實你就可以對大多數的資料進行回歸分析,並得出相對精確地結論。這部分需要掌握的知識點如下 回歸分析 線性回歸 邏輯回歸 基本的分類演算法 決策樹 隨機森林 樸素貝葉斯 基本的聚類演算法 k mean...
《利用Python進行資料分析》筆記
之前的筆記一直記在我的印象筆記上,今天突然想到 不如直接記在部落格上,印象筆記只記錄生活上的事,這樣也分工明確一些。同時也能和大家分享,也許可以幫助到別人。由於這個學習筆記系列主要還是用於個人學習總結用,所以會比較凌亂,望大家理解!2017 9 23 p151 pd.dropna thresh 其中...