Pandas學(xué)習(xí)

立一個flag這周認(rèn)真再看numpy, pandas, matplotlib的文檔,認(rèn)真做筆記。供自己以后看,希望能幫到其他人吧(會慢慢更新?。?/p>

pandas的數(shù)據(jù)都可以類比于字典,這樣的結(jié)構(gòu)比較容易理解,但是對計算機操作就比較麻煩,可能這大概是它比ndarray要慢的原因吧

  • Series
名字 功能
Series.index 這不是一個方法,而是一個attrs,所有后面沒有接字符(如果出現(xiàn)了用()這樣的方法,說明你這個其實是一個callable的,東西,但是這個其實不是callable,因為是一個array)
Series.values 記得s不要漏了 返回的也是一個array,但是卻是內(nèi)容組成
Series['index'] 通過index來訪問數(shù)據(jù),這個index雖然你可以自己添加了很多index,但是默認(rèn)通過數(shù)字的那種編碼還是存在的。但是你要是用了數(shù)字的版本的新index,就會已新版本為主。換句說,每一次都先看看你自己定義的那種。(相當(dāng)于,有兩套index訪問策略,有浮點數(shù)的那種也就只能通過默認(rèn)的index進(jìn)行訪問了,但要是默認(rèn)的在自定義中出現(xiàn)了,那就GG了)(對了,最好不要設(shè)置浮點數(shù)的index,會報keyerror的)
dict轉(zhuǎn)Series 默認(rèn)使用key作為Index,Value作為Value
也可以自己設(shè)置index 要是在設(shè)置的index在dict中沒有,就會自動補全,順序默認(rèn)按照設(shè)定的index順序(但是dict中有的index,就一定要是在自定義中的index存在才行)
pd.isnull(Series) 返回的也是一個Series,但是值變成了bool,這個判斷value是不是NaN。但是Key還是一樣的,都是Series本身自帶的index
Series1 + Series2 返回值會按照index進(jìn)行排序,會找到對應(yīng)的index的value進(jìn)行相加。要注意的是,Series檢查到默認(rèn)的值為NaN 。如果有一者為NaN,那么加起來也是NaN
Series.name Series 對象本身的名字,默認(rèn)是none
Series.index.name 設(shè)置index對象的名字(字段名)
Series > value 返回一個btype為bool的Series對象(換成 >= / == 之類的肯定都是一樣的啦)
  • DataFrame 可以看作是對于同一index的Series集合
方法 解釋
DataFrame(dict) pd.DataFrame({'column1':[1,2,3], 'column2':['a', 'c', 'd']}) 注意DF要大寫
DataFrame(array) pd.DataFrame(np.array([(1, 'a'), (2, 'c'), (3, 'd')]) ,column=['column1', 'column2'])
DataFrame.index attr,查看index(最左邊的那一列)
DataFrame.columns attr,查看列名
DataFrame.values attr,獲取所有表格內(nèi)部信息(返回ndarray)
DataFame['index'] 這個index可以是列名,如果是數(shù)字,就會默認(rèn)使用行號來做拿到行,這個要留意。返回的是一個Series
DataFrame.index 前面的index不是指index,而是任意的列名。具體拿到某一個列的列參數(shù)attr
DataFrame.iloc[ , ] 通過行列數(shù)字進(jìn)行查找(要求是具體數(shù)字)通過這個也可以看到對每一個橫著的Series都是有一個對象名稱,具體是index對應(yīng)的值。可省略逗號,默認(rèn)是對行進(jìn)行操作,跟下面的類似
DataFrame.loc[ , ] 這時候就需要寫具體的行列名字了 (這個跟上面的操作都支持切片)
DataFrame['column'] = value 如果value是一個單一的值的話,就會將整一列的元素全部變?yōu)関alue。如果是長度剛剛好的list,也就會完全替代。而且list長度只能剛剛好,否者會報錯
del DataFrame['column'] 這樣的方式來進(jìn)行刪除某一列
DataFrame['column1'] = list 前面的list就換成一個具體的list就好了,這樣就會自動添加一個。在列的最右端
DafaFrame.index.min() 這里的index不是index,而是具體的某一列的列名。然后用一個min函數(shù)作用一下就好了。拿出來的這一列就是一個Series。當(dāng)然取一行,得到的也是一個Series
DataFrame[DataFrame.index >= value] 常用的篩選方法。要清楚上面的Series如果是用括號符的時候,得到的是一個bool值的Series對象。類比于看上面的pd.isnull(Series)函數(shù)
DataFrame.index >= value 返回的是有對象名的Series,對象名就是index。但是上面的取法跟對象名沒有關(guān)只是得到了一個對應(yīng)的bool值Series,你甚至換一個bool的list都是可以這樣篩選出來的。本質(zhì)上就是想要得到一個bool序列,通過這個序列來生成DataFrame
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近在學(xué)習(xí)數(shù)據(jù)分析,對學(xué)的進(jìn)行了些整理,方便以后查看。歡迎交流。 下面的代碼用到的模塊都事先做了導(dǎo)入: impor...
    不_初心閱讀 1,272評論 1 3
  • 數(shù)據(jù)結(jié)構(gòu) 1. Series Series簡介及創(chuàng)建 Series創(chuàng)建帶標(biāo)簽的一維數(shù)組,其中可以包含任意數(shù)據(jù)類型(...
    小白將閱讀 1,117評論 0 4
  • Pandas 中的兩個最重要的數(shù)據(jù)結(jié)構(gòu)是 Series 和 DataFrame,其約定的引用方式為: Series...
    拓季閱讀 223評論 0 4
  • 一、pandas數(shù)據(jù)結(jié)構(gòu) 1、Series Series有兩個屬性,values和index,values表示Se...
    迪_7761閱讀 657評論 0 1
  • 又到了一年一度新學(xué)年,家家轉(zhuǎn)眼間也開始升入預(yù)備班。 前兩年上幼兒園的時候還會早上賴床,哄好久才會睡眼惺忪地起床,接...
    悠爺閱讀 241評論 1 0

友情鏈接更多精彩內(nèi)容