成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python中的df函數(shù),df python

5. 來點實用的:df = data frame

在第3章,講到了矩陣matrix和向量vector,矩陣和向量都只能包含某一種數(shù)據(jù)類型,而在實際應(yīng)用中,這種情況比較少見。

創(chuàng)新互聯(lián)服務(wù)項目包括東寧網(wǎng)站建設(shè)、東寧網(wǎng)站制作、東寧網(wǎng)頁制作以及東寧網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東寧網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東寧省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

當(dāng)我們做一項數(shù)據(jù)調(diào)查時,調(diào)查報告通常不可能只含有數(shù)值型數(shù)據(jù)或者字符型數(shù)據(jù),而是包含各種數(shù)據(jù)類型(做分析時需要對目錄數(shù)據(jù)進行編碼,這部分內(nèi)容會在python分析基礎(chǔ)中講到)。因此,我們需要一種新的容器類型——data frame。

有人把data frame翻譯為數(shù)據(jù)幀,這種譯法是不準確的,尤其是考慮到“幀”的定義和data frame的含義的差別。也有人完全按照字面意思把它翻譯成數(shù)據(jù)框架,我感覺有些畫蛇添足,把原本不難理解的東西復(fù)雜化。

本章主要講了:

其實很簡單,用一個例子就能解釋明白:中學(xué)時老師統(tǒng)計的期末成績單就是一個df,通常一個Excel表格中包含以下內(nèi)容:

在實際操作中,我們通常讀取一個Excel表單或者一個csv文件,并將這個文件賦值給一個變量(df或者data),后期對文件的操作可以通過變量名來進行。需要注意的是,df的每一行表示不同的觀測對象,每一列表示一個定語或變量。在成績單里,每個學(xué)生都是一個被觀測的個體,而各科成績表示不同的定語(Attribute),定語是用來描述觀測對象的特征的。

下面我將采用R語言內(nèi)置的數(shù)據(jù)集mtcars(motor trend car road tests)來做演示。

首先打開RStudio,用 data() 函數(shù)載入數(shù)據(jù)集:

通過前五行數(shù)據(jù),我們可以看到,每行表示不同的汽車型號,列表示每個汽車型號的不同特征,例如排量,馬力,氣缸數(shù)等等。

通常在獲取一個數(shù)據(jù)集后,我們需要了解它的結(jié)構(gòu),例如一共有幾行,有哪些列,列的名字,每列的數(shù)據(jù)類型等。查看df的結(jié)構(gòu),需要 str() 函數(shù)。

輸出結(jié)果表示,mtcars一共有32行(observations),和11列(variables)。

$符號后面是列名,一共11個,且mtcars中所有的數(shù)據(jù)類型都是numerical。

前面使用了內(nèi)置數(shù)據(jù)集,接下來可以使用 data.frame() 自己創(chuàng)建一個,括號中填入不同的向量,這些向量必須包含相同的元素數(shù)量。

* 注意區(qū)分R和python在創(chuàng)建df時的不同語法

我們以太陽系內(nèi)八大行星為例,建立一個df,包含行星的名字,類型(巖質(zhì)行星還是氣態(tài)巨行星),相對地球直徑的比值,相對地球公轉(zhuǎn)周期的比值以及是否含有星環(huán)(不止土星有星環(huán))。

觀察一下我們創(chuàng)建的df,不難發(fā)現(xiàn)每個向量就是df中的每一列。(在python中有類似的用法,即通過字典dictionary創(chuàng)建df,參見python教程。)

跟矩陣和向量類似,我們可以選擇df的特定行和 / 或列。利用中括號,在逗號的左邊填入想選擇的行,右邊填入列。這個用法跟前面矩陣的元素選擇重復(fù),這里就省略了。

這里介紹另外一種方法,只用列名選擇某個特定的列:

df$colname

輸出的結(jié)果是一個向量,可以用 class() 函數(shù)驗證向量元素的類型。

更進一步,如果我們想選出有星環(huán)的行星,可以通過以下操作:

可以看出,我們篩選出了 rings 列中,值為 TRUE 的所有行。

那么能否篩選不帶星環(huán)的行星?

方法很簡單,只需要在中括號中加入一個 !

* 注意:由邏輯值組成的列通常被用來篩選符合某些條件的行,若沒有由邏輯值組成的列,我們可以通過邏輯運算符自己建立一個篩選標準

現(xiàn)在我們嘗試找出影響行星是否有星環(huán)的因素。

對比這兩個結(jié)果,可以發(fā)現(xiàn)太陽系中的巖態(tài)行星都沒有星環(huán),而氣態(tài)巨行星都有星環(huán)。因此我們可以猜測,影響一個行星是否有星環(huán)的因素是行星的類型。當(dāng)然這只是一個假設(shè),要想驗證這個假設(shè)在銀河系甚至可觀測宇宙是否成立,我們需要更多數(shù)據(jù)來進行 假設(shè)檢驗 ,這部分的內(nèi)容需要懂點統(tǒng)計學(xué),后面會講到。

上一步實際上是給我們的數(shù)據(jù)集創(chuàng)建了一個子集,用來過濾掉一部分不需要i的數(shù)據(jù)?,F(xiàn)在介紹一種更高效、更普適的方式:

借助第二個arg,我們可以根據(jù)“某些條件”來選擇。這里的條件覆蓋較廣的范圍,不再局限于邏輯值。

* 注意:這里的‘單等于號’表示賦值,‘雙等于號’表示邏輯判斷

現(xiàn)在試試用numerical數(shù)據(jù)作為篩選條件,選出直徑比地球直徑大的行星:

排序要用到 order() 函數(shù):

* 注意:decreasing默認為假,也就是說如果不填這個arg, order() 函數(shù)會進行升序排列

Python中def dayUP(df)中的df是什么意思?

你這是定義了一個函數(shù),df是該函數(shù)的變量,是你自己設(shè)置的變量名,所以df的意思只有你自己知道啊。

def dayUP(df)在Python開頭是什么意思?df是daydfactor 的簡寫嗎?

def dayUP(df):

#your code goes here

def 在python中是一個函數(shù)定義的關(guān)鍵字。

dayUP是函數(shù)名。

后面的括號里的df代表是什么意思,如果作者沒有對df進行注釋的話,也只有他自己知道。我們只需要知道這是一個參數(shù)就可以了,管他是什么的簡寫。

Python pandas用法

在Python中,pandas是基于NumPy數(shù)組構(gòu)建的,使數(shù)據(jù)預(yù)處理、清洗、分析工作變得更快更簡單。pandas是專門為處理表格和混雜數(shù)據(jù)設(shè)計的,而NumPy更適合處理統(tǒng)一的數(shù)值數(shù)組數(shù)據(jù)。

使用下面格式約定,引入pandas包:

pandas有兩個主要數(shù)據(jù)結(jié)構(gòu):Series和DataFrame。

Series是一種類似于一維數(shù)組的對象,它由 一組數(shù)據(jù) (各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的 數(shù)據(jù)標簽(即索引) 組成,即index和values兩部分,可以通過索引的方式選取Series中的單個或一組值。

pd.Series(list,index=[ ]) ,第二個參數(shù)是Series中數(shù)據(jù)的索引,可以省略。

Series類型索引、切片、運算的操作類似于ndarray,同樣的類似Python字典類型的操作,包括保留字in操作、使用.get()方法。

Series和ndarray之間的主要區(qū)別在于Series之間的操作會根據(jù)索引自動對齊數(shù)據(jù)。

DataFrame是一個表格型的數(shù)據(jù)類型,每列值類型可以不同,是最常用的pandas對象。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。DataFrame中的數(shù)據(jù)是以一個或多個二維塊存放的(而不是列表、字典或別的一維數(shù)據(jù)結(jié)構(gòu))。

pd.DataFrame(data,columns = [ ],index = [ ]) :columns和index為指定的列、行索引,并按照順序排列。

如果創(chuàng)建時指定了columns和index索引,則按照索引順序排列,并且如果傳入的列在數(shù)據(jù)中找不到,就會在結(jié)果中產(chǎn)生缺失值:

數(shù)據(jù)索引 :Series和DataFrame的索引是Index類型,Index對象是不可修改,可通過索引值或索引標簽獲取目標數(shù)據(jù),也可通過索引使序列或數(shù)據(jù)框的計算、操作實現(xiàn)自動化對齊。索引類型index的常用方法:

重新索引 :能夠改變、重排Series和DataFrame索引,會創(chuàng)建一個新對象,如果某個索引值當(dāng)前不存在,就引入缺失值。

df.reindex(index, columns ,fill_value, method, limit, copy ) :index/columns為新的行列自定義索引;fill_value為用于填充缺失位置的值;method為填充方法,ffill當(dāng)前值向前填充,bfill向后填充;limit為最大填充量;copy 默認True,生成新的對象,F(xiàn)alse時,新舊相等不復(fù)制。

刪除指定索引 :默認返回的是一個新對象。

.drop() :能夠刪除Series和DataFrame指定行或列索引。

刪除一行或者一列時,用單引號指定索引,刪除多行時用列表指定索引。

如果刪除的是列索引,需要增加axis=1或axis='columns'作為參數(shù)。

增加inplace=True作為參數(shù),可以就地修改對象,不會返回新的對象。

在pandas中,有多個方法可以選取和重新組合數(shù)據(jù)。對于DataFrame,表5-4進行了總結(jié)

適用于Series和DataFrame的基本統(tǒng)計分析函數(shù) :傳入axis='columns'或axis=1將會按行進行運算。

.describe() :針對各列的多個統(tǒng)計匯總,用統(tǒng)計學(xué)指標快速描述數(shù)據(jù)的概要。

.sum() :計算各列數(shù)據(jù)的和

.count() :非NaN值的數(shù)量

.mean( )/.median() :計算數(shù)據(jù)的算術(shù)平均值、算術(shù)中位數(shù)

.var()/.std() :計算數(shù)據(jù)的方差、標準差

.corr()/.cov() :計算相關(guān)系數(shù)矩陣、協(xié)方差矩陣,是通過參數(shù)對計算出來的。Series的corr方法用于計算兩個Series中重疊的、非NA的、按索引對齊的值的相關(guān)系數(shù)。DataFrame的corr和cov方法將以DataFrame的形式分別返回完整的相關(guān)系數(shù)或協(xié)方差矩陣。

.corrwith() :利用DataFrame的corrwith方法,可以計算其列或行跟另一個Series或DataFrame之間的相關(guān)系數(shù)。傳入一個Series將會返回一個相關(guān)系數(shù)值Series(針對各列進行計算),傳入一個DataFrame則會計算按列名配對的相關(guān)系數(shù)。

.min()/.max() :計算數(shù)據(jù)的最小值、最大值

.diff() :計算一階差分,對時間序列很有效

.mode() :計算眾數(shù),返回頻數(shù)最高的那(幾)個

.mean() :計算均值

.quantile() :計算分位數(shù)(0到1)

.isin() :用于判斷矢量化集合的成員資格,可用于過濾Series中或DataFrame列中數(shù)據(jù)的子集

適用于Series的基本統(tǒng)計分析函數(shù),DataFrame[列名]返回的是一個Series類型。

.unique() :返回一個Series中的唯一值組成的數(shù)組。

.value_counts() :計算一個Series中各值出現(xiàn)的頻率。

.argmin()/.argmax() :計算數(shù)據(jù)最大值、最小值所在位置的索引位置(自動索引)

.idxmin()/.idxmax() :計算數(shù)據(jù)最大值、最小值所在位置的索引(自定義索引)

pandas提供了一些用于將表格型數(shù)據(jù)讀取為DataFrame對象的函數(shù)。下表對它們進行了總結(jié),其中read_csv()、read_table()、to_csv()是用得最多的。

在數(shù)據(jù)分析和建模的過程中,相當(dāng)多的時間要用在數(shù)據(jù)準備上:加載、清理、轉(zhuǎn)換以及重塑。

在許多數(shù)據(jù)分析工作中,缺失數(shù)據(jù)是經(jīng)常發(fā)生的。對于數(shù)值數(shù)據(jù),pandas使用浮點值NaN(np.nan)表示缺失數(shù)據(jù),也可將缺失值表示為NA(Python內(nèi)置的None值)。

替換值

.replace(old, new) :用新的數(shù)據(jù)替換老的數(shù)據(jù),如果希望一次性替換多個值,old和new可以是列表。默認會返回一個新的對象,傳入inplace=True可以對現(xiàn)有對象進行就地修改。

刪除重復(fù)數(shù)據(jù)

利用函數(shù)或字典進行數(shù)據(jù)轉(zhuǎn)換

df.head():查詢數(shù)據(jù)的前五行

df.tail():查詢數(shù)據(jù)的末尾5行

pandas.cut()

pandas.qcut() 基于分位數(shù)的離散化函數(shù)。基于秩或基于樣本分位數(shù)將變量離散化為等大小桶。

pandas.date_range() 返回一個時間索引

df.apply() 沿相應(yīng)軸應(yīng)用函數(shù)

Series.value_counts() 返回不同數(shù)據(jù)的計數(shù)值

df.aggregate()

df.reset_index() 重新設(shè)置index,參數(shù)drop = True時會丟棄原來的索引,設(shè)置新的從0開始的索引。常與groupby()一起用

numpy.zeros()

python基礎(chǔ)中,df后面是什么

python基礎(chǔ)中,df后面是傳函數(shù)參數(shù)。是要在小括號里面?zhèn)骱瘮?shù)參數(shù),后面的[]是因為函數(shù)返回一個數(shù)組,列表所以用[0]取得索引為0處的值。

python基礎(chǔ)內(nèi)容簡介

本書是大氣海洋學(xué)科方向?qū)W者的python入門書。全書側(cè)重于介紹大氣海洋學(xué)科領(lǐng)域python編程常用的基礎(chǔ)知識,包括即也阻的獲取、安裝、環(huán)境編輯器等內(nèi)容,示例介紹了python語言基礎(chǔ),流程控制,列表、元組、字典與集合,函數(shù),類和對象,模塊,存儲戶等基礎(chǔ)知識。

結(jié)合python基礎(chǔ)知識,介紹了異常處理、計算生態(tài)、正則表達式、python腳本、日志等內(nèi)容。文后結(jié)合習(xí)題幫助讀者解決常見編程問題和困惑,從而幫助讀者實現(xiàn)時也on知識的靈活使用和綜舍編程,將python用于大氣海洋工程當(dāng)中。

本書第1~8章為Python語言基礎(chǔ),主要介紹Python的基本用法;第9章為一個實戰(zhàn),幫助讀者理解前8章的知識,第10~17章為Python的進階使用,包含面向?qū)ο缶幊?、函?shù)式編程入門、文件讀寫、異常處理、模塊和包幾個部分。

第18章為第2個實戰(zhàn),幫助讀者融會貫通前17章的知識,同時拋磚引玉,引起讀者探索的興趣。

當(dāng)前名稱:python中的df函數(shù),df python
標題網(wǎng)址:http://jinyejixie.com/article28/dsecijp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、網(wǎng)站改版做網(wǎng)站、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司
淮北市| 重庆市| 黑河市| 观塘区| 鄂托克旗| 扎赉特旗| 龙游县| 新建县| 湖州市| 汉沽区| 盐源县| 五莲县| 锡林浩特市| 泸西县| 山东省| 阿坝| 绵竹市| 桦南县| 怀集县| 榆树市| 三亚市| 苗栗县| 珲春市| 象州县| 唐海县| 阿鲁科尔沁旗| 高雄市| 大宁县| 江山市| 土默特左旗| 贵定县| 东乡族自治县| 平武县| 磐石市| 杂多县| 出国| 汽车| 达拉特旗| 古交市| 库车县| 筠连县|