,"> 。">

最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Pandas學(xué)習(xí)<一>

2022-11-08 21:47 作者:生信小院  | 我要投稿


Python作為現(xiàn)如今最常用的編程語言,以其易于上手和模塊豐富而著稱。在筆者使用python進(jìn)行數(shù)據(jù)分析時(shí),常常會(huì)面臨各種表格和數(shù)據(jù)的讀取、操作、輸出以及數(shù)據(jù)的可視化。Pandas作為一個(gè)非常高效的python數(shù)據(jù)處理模塊,以其簡便性和實(shí)用性而受到歡迎。恰巧筆者最近在處理數(shù)據(jù)過程中需要較多的使用pandas進(jìn)行數(shù)據(jù)處理。結(jié)合當(dāng)前可能仍有許多人(高手請自行忽略)對這一模塊不是特別了解,所以筆者嘗試從數(shù)據(jù)讀取、數(shù)據(jù)初級(jí)檢索、數(shù)據(jù)的高級(jí)操作、數(shù)據(jù)可視化三個(gè)方面對這一模塊進(jìn)行解讀。另一方面,考慮到對于大多數(shù)人而言,數(shù)據(jù)處理過程中最常用的文件格式是excel、txt和csv,因此本文在后續(xù)的介紹中也將以這三類格式的文件為主。事實(shí)上,pandas模塊擅長處理各種不同格式的數(shù)據(jù),遠(yuǎn)不止本文介紹的那么單調(diào)。所以如果讀者想要更多的了解這個(gè)模塊,(強(qiáng)烈)建議去此模塊的官方網(wǎng)站(https://github.com/pandas-dev/pandas/)進(jìn)行進(jìn)一步探索。由于這個(gè)系列更多的以筆者的工作需要為主,無法涵蓋所有內(nèi)容,有所疏漏(不僅有,還很多),還請讀者諒解。

本文作為系列開篇的第一章,主要從數(shù)據(jù)讀取和數(shù)據(jù)初級(jí)檢索這兩個(gè)方面來進(jìn)行介紹。

對于python而言,無論何種模塊,首先需要做的就是安裝(自己動(dòng)手,豐衣足食)。在命令行下安裝模塊的命令如下(可能會(huì)安裝其他依賴的包):

安裝了之后,我們首先需要做的就是加載模塊,而加載模塊的命令為(后面代碼中以>>開頭表示在python IDE中輸入的命令行)。

值得注意的是pandas可以讀取多種類型的文件,讀者可以通過下表看出。

只是對于excel、txt和csv三種格式的文件而言,?read_excel、read_csv和read_table三個(gè)函數(shù)就足以應(yīng)付大部分的情況了。

read_excel函數(shù)常用于讀取excel文件。該函數(shù)最常用到的參數(shù)是sheet_name、header、names、index_col和usecols。sheet_name參數(shù)指定用于讀取excel的sheet編號(hào);header參數(shù)用于指定作為列名的列索引;name參數(shù)通過賦值來指定列名(在不指定header的情況下);index_col參數(shù)用于指定作為行名的行索引,usecols參數(shù)則指定可以被讀進(jìn)Pandas table對象的列的集合。

read_csv函數(shù)用于讀取csv文件。該函數(shù)最常用的參數(shù)是sep、delimiter 、header、names、index_col和usecols。與read_excel函數(shù)包含相同的參數(shù)就不再一一介紹,而新的參數(shù)如sep用于分隔符使用(delimiter與sep含義相同)。

read_table函數(shù)用于讀取txt文件。該函數(shù)與read_csv函數(shù)的參數(shù)基本一致。使用可以參考read_csv函數(shù)。

了解完函數(shù)之后,我們需要使用這些函數(shù)去讀取文件。對于pandas而言,數(shù)據(jù)格式僅僅有兩種類型。一是系列,以一維標(biāo)記的同質(zhì)的數(shù)組;二是數(shù)據(jù)框,通常是2維的,其中每行或者每列代表一個(gè)系列。

接下來,我們就從代碼上來解讀如何讀取一個(gè)文件(為方便演示,筆者準(zhǔn)備了Test_file.xlsx)。

首先,通過pd.read_excel函數(shù)讀取文件。通過print函數(shù)顯示數(shù)據(jù)格式。從下面的結(jié)果可以看出,數(shù)據(jù)為8*4的二維數(shù)組。

讀取完數(shù)據(jù)之后,如何精確定位到某一行、某一列或者某個(gè)元素,方便對選中的行、列或者元素進(jìn)行操作呢?Pandas提供了包括[]、loc和iloc三種方式在內(nèi)的多種函數(shù)用以對數(shù)據(jù)進(jìn)行操作。下面,我將以[]、loc和iloc三種方式為主,通過多個(gè)命令去簡略介紹一下如何快速定位數(shù)據(jù)和增添數(shù)據(jù)。只是讀者如果想要了解更多,可以去官方網(wǎng)站上進(jìn)行進(jìn)一步探索。

命令一:通過列標(biāo)簽選擇單列。

命令二:通過列標(biāo)簽選擇雙列或多列。

命令三:通過行索引選擇行。

命令四:通過行標(biāo)簽選擇行。

命令五:通過行索引選擇行。

命令六:通過列標(biāo)簽和行索引選擇元素。

命令七:通過列與行的索引選擇元素。

命令八:通過lambda函數(shù)對指定列元素進(jìn)行篩選,并返回一個(gè)所有符合條件的列元素所在行索引的行。

命令九:通過index屬性返回行的屬性。

命令十:通過行索引和列標(biāo)簽尋找數(shù)據(jù)。

命令十一:以單列數(shù)據(jù)為樣本,進(jìn)行隨機(jī)抽樣。

命令十二:通過新列名(’E’)來增加數(shù)據(jù)。

命令十三: 通過新列名(’R9’)來增加數(shù)據(jù)。

通過上述命令,可以對pandas讀取數(shù)據(jù)以及對數(shù)據(jù)的基本操作有了一個(gè)簡單的理解。但是更多更實(shí)用的技能仍需要讀者通過自己寫腳本實(shí)踐,從而進(jìn)一步的掌握。

上述的所有命令我已經(jīng)整理成Learn_of_pandas_part1.ipynb文檔放在我的github網(wǎng)站上(網(wǎng)址是https://github.com/wangjun258/Learn_of_pandas_part1),歡迎讀者在jupyter notebook繼續(xù)實(shí)踐。

三 慣例小結(jié)

更高階的使用指南也詳見下面的官方號(hào)

本公眾號(hào)開發(fā)的相關(guān)軟件,Multi-omics Hammer軟件和Multi-omics Visual軟件歡迎大家使用。文末是本公眾號(hào)在其他平臺(tái)的賬戶,也歡迎大家關(guān)注并多提意見。


簡書:WJ的生信小院


公眾號(hào):生信小院


博客園:生信小院


最后,也歡迎各位大佬能夠在本平臺(tái)上:1傳播和講解自己發(fā)表的論文;2:發(fā)表對某一科研領(lǐng)域的看法;3:想要達(dá)成的合作或者相應(yīng)的招聘信息;4:展示自己以尋找博后工作或者博士就讀的機(jī)會(huì);5:博導(dǎo)提供博后工作或者博士攻讀機(jī)會(huì),都可以后臺(tái)給筆者留言。希望本平臺(tái)在進(jìn)行生信知識(shí)分享的同時(shí),能夠成為生信分析者的交流平臺(tái),能夠?qū)崿F(xiàn)相應(yīng)的利益互補(bǔ)和雙贏(不一定能實(shí)現(xiàn),但是夢想總得是有的吧)。


另外,怎么說呢,投。。。。。。幣也可,不強(qiáng)求,但奢求?



Pandas學(xué)習(xí)<一>的評論 (共 條)

分享到微博請遵守國家法律
永州市| 共和县| 古交市| 伊宁市| 磐安县| 金山区| 河津市| 九江市| 新巴尔虎左旗| 区。| 互助| 囊谦县| 邢台市| 溧水县| 吴忠市| 建德市| 墨江| 疏勒县| 子长县| 图木舒克市| 苏尼特右旗| 霞浦县| 温泉县| 海淀区| 酉阳| 安宁市| 郁南县| 牙克石市| 当阳市| 三河市| 同仁县| 鄯善县| 云安县| 双牌县| 凉山| 祥云县| 龙南县| 陆良县| 明光市| 宜州市| 延川县|