python基礎(chǔ)中,df后面是傳函數(shù)參數(shù)。是要在小括號(hào)里面?zhèn)骱瘮?shù)參數(shù),后面的[]是因?yàn)楹瘮?shù)返回一個(gè)數(shù)組,列表所以用[0]取得索引為0處的值。
成都創(chuàng)新互聯(lián)公司主營(yíng)棗陽(yáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),棗陽(yáng)h5重慶小程序開發(fā)搭建,棗陽(yáng)網(wǎng)站營(yíng)銷推廣歡迎棗陽(yáng)等地區(qū)企業(yè)咨詢
python基礎(chǔ)內(nèi)容簡(jiǎn)介
本書是大氣海洋學(xué)科方向?qū)W者的python入門書。全書側(cè)重于介紹大氣海洋學(xué)科領(lǐng)域python編程常用的基礎(chǔ)知識(shí),包括即也阻的獲取、安裝、環(huán)境編輯器等內(nèi)容,示例介紹了python語(yǔ)言基礎(chǔ),流程控制,列表、元組、字典與集合,函數(shù),類和對(duì)象,模塊,存儲(chǔ)戶等基礎(chǔ)知識(shí)。
結(jié)合python基礎(chǔ)知識(shí),介紹了異常處理、計(jì)算生態(tài)、正則表達(dá)式、python腳本、日志等內(nèi)容。文后結(jié)合習(xí)題幫助讀者解決常見編程問題和困惑,從而幫助讀者實(shí)現(xiàn)時(shí)也on知識(shí)的靈活使用和綜舍編程,將python用于大氣海洋工程當(dāng)中。
本書第1~8章為Python語(yǔ)言基礎(chǔ),主要介紹Python的基本用法;第9章為一個(gè)實(shí)戰(zhàn),幫助讀者理解前8章的知識(shí),第10~17章為Python的進(jìn)階使用,包含面向?qū)ο缶幊?、函?shù)式編程入門、文件讀寫、異常處理、模塊和包幾個(gè)部分。
第18章為第2個(gè)實(shí)戰(zhàn),幫助讀者融會(huì)貫通前17章的知識(shí),同時(shí)拋磚引玉,引起讀者探索的興趣。
def dayUP(df):
#your code goes here
def 在python中是一個(gè)函數(shù)定義的關(guān)鍵字。
dayUP是函數(shù)名。
后面的括號(hào)里的df代表是什么意思,如果作者沒有對(duì)df進(jìn)行注釋的話,也只有他自己知道。我們只需要知道這是一個(gè)參數(shù)就可以了,管他是什么的簡(jiǎn)寫。
你這是定義了一個(gè)函數(shù),df是該函數(shù)的變量,是你自己設(shè)置的變量名,所以df的意思只有你自己知道啊。
在Python中,pandas是基于NumPy數(shù)組構(gòu)建的,使數(shù)據(jù)預(yù)處理、清洗、分析工作變得更快更簡(jiǎn)單。pandas是專門為處理表格和混雜數(shù)據(jù)設(shè)計(jì)的,而NumPy更適合處理統(tǒng)一的數(shù)值數(shù)組數(shù)據(jù)。
使用下面格式約定,引入pandas包:
pandas有兩個(gè)主要數(shù)據(jù)結(jié)構(gòu):Series和DataFrame。
Series是一種類似于一維數(shù)組的對(duì)象,它由 一組數(shù)據(jù) (各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的 數(shù)據(jù)標(biāo)簽(即索引) 組成,即index和values兩部分,可以通過索引的方式選取Series中的單個(gè)或一組值。
pd.Series(list,index=[ ]) ,第二個(gè)參數(shù)是Series中數(shù)據(jù)的索引,可以省略。
Series類型索引、切片、運(yùn)算的操作類似于ndarray,同樣的類似Python字典類型的操作,包括保留字in操作、使用.get()方法。
Series和ndarray之間的主要區(qū)別在于Series之間的操作會(huì)根據(jù)索引自動(dòng)對(duì)齊數(shù)據(jù)。
DataFrame是一個(gè)表格型的數(shù)據(jù)類型,每列值類型可以不同,是最常用的pandas對(duì)象。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個(gè)索引)。DataFrame中的數(shù)據(jù)是以一個(gè)或多個(gè)二維塊存放的(而不是列表、字典或別的一維數(shù)據(jù)結(jié)構(gòu))。
pd.DataFrame(data,columns = [ ],index = [ ]) :columns和index為指定的列、行索引,并按照順序排列。
如果創(chuàng)建時(shí)指定了columns和index索引,則按照索引順序排列,并且如果傳入的列在數(shù)據(jù)中找不到,就會(huì)在結(jié)果中產(chǎn)生缺失值:
數(shù)據(jù)索引 :Series和DataFrame的索引是Index類型,Index對(duì)象是不可修改,可通過索引值或索引標(biāo)簽獲取目標(biāo)數(shù)據(jù),也可通過索引使序列或數(shù)據(jù)框的計(jì)算、操作實(shí)現(xiàn)自動(dòng)化對(duì)齊。索引類型index的常用方法:
重新索引 :能夠改變、重排Series和DataFrame索引,會(huì)創(chuàng)建一個(gè)新對(duì)象,如果某個(gè)索引值當(dāng)前不存在,就引入缺失值。
df.reindex(index, columns ,fill_value, method, limit, copy ) :index/columns為新的行列自定義索引;fill_value為用于填充缺失位置的值;method為填充方法,ffill當(dāng)前值向前填充,bfill向后填充;limit為最大填充量;copy 默認(rèn)True,生成新的對(duì)象,F(xiàn)alse時(shí),新舊相等不復(fù)制。
刪除指定索引 :默認(rèn)返回的是一個(gè)新對(duì)象。
.drop() :能夠刪除Series和DataFrame指定行或列索引。
刪除一行或者一列時(shí),用單引號(hào)指定索引,刪除多行時(shí)用列表指定索引。
如果刪除的是列索引,需要增加axis=1或axis='columns'作為參數(shù)。
增加inplace=True作為參數(shù),可以就地修改對(duì)象,不會(huì)返回新的對(duì)象。
在pandas中,有多個(gè)方法可以選取和重新組合數(shù)據(jù)。對(duì)于DataFrame,表5-4進(jìn)行了總結(jié)
適用于Series和DataFrame的基本統(tǒng)計(jì)分析函數(shù) :傳入axis='columns'或axis=1將會(huì)按行進(jìn)行運(yùn)算。
.describe() :針對(duì)各列的多個(gè)統(tǒng)計(jì)匯總,用統(tǒng)計(jì)學(xué)指標(biāo)快速描述數(shù)據(jù)的概要。
.sum() :計(jì)算各列數(shù)據(jù)的和
.count() :非NaN值的數(shù)量
.mean( )/.median() :計(jì)算數(shù)據(jù)的算術(shù)平均值、算術(shù)中位數(shù)
.var()/.std() :計(jì)算數(shù)據(jù)的方差、標(biāo)準(zhǔn)差
.corr()/.cov() :計(jì)算相關(guān)系數(shù)矩陣、協(xié)方差矩陣,是通過參數(shù)對(duì)計(jì)算出來的。Series的corr方法用于計(jì)算兩個(gè)Series中重疊的、非NA的、按索引對(duì)齊的值的相關(guān)系數(shù)。DataFrame的corr和cov方法將以DataFrame的形式分別返回完整的相關(guān)系數(shù)或協(xié)方差矩陣。
.corrwith() :利用DataFrame的corrwith方法,可以計(jì)算其列或行跟另一個(gè)Series或DataFrame之間的相關(guān)系數(shù)。傳入一個(gè)Series將會(huì)返回一個(gè)相關(guān)系數(shù)值Series(針對(duì)各列進(jìn)行計(jì)算),傳入一個(gè)DataFrame則會(huì)計(jì)算按列名配對(duì)的相關(guān)系數(shù)。
.min()/.max() :計(jì)算數(shù)據(jù)的最小值、最大值
.diff() :計(jì)算一階差分,對(duì)時(shí)間序列很有效
.mode() :計(jì)算眾數(shù),返回頻數(shù)最高的那(幾)個(gè)
.mean() :計(jì)算均值
.quantile() :計(jì)算分位數(shù)(0到1)
.isin() :用于判斷矢量化集合的成員資格,可用于過濾Series中或DataFrame列中數(shù)據(jù)的子集
適用于Series的基本統(tǒng)計(jì)分析函數(shù),DataFrame[列名]返回的是一個(gè)Series類型。
.unique() :返回一個(gè)Series中的唯一值組成的數(shù)組。
.value_counts() :計(jì)算一個(gè)Series中各值出現(xiàn)的頻率。
.argmin()/.argmax() :計(jì)算數(shù)據(jù)最大值、最小值所在位置的索引位置(自動(dòng)索引)
.idxmin()/.idxmax() :計(jì)算數(shù)據(jù)最大值、最小值所在位置的索引(自定義索引)
pandas提供了一些用于將表格型數(shù)據(jù)讀取為DataFrame對(duì)象的函數(shù)。下表對(duì)它們進(jìn)行了總結(jié),其中read_csv()、read_table()、to_csv()是用得最多的。
在數(shù)據(jù)分析和建模的過程中,相當(dāng)多的時(shí)間要用在數(shù)據(jù)準(zhǔn)備上:加載、清理、轉(zhuǎn)換以及重塑。
在許多數(shù)據(jù)分析工作中,缺失數(shù)據(jù)是經(jīng)常發(fā)生的。對(duì)于數(shù)值數(shù)據(jù),pandas使用浮點(diǎn)值NaN(np.nan)表示缺失數(shù)據(jù),也可將缺失值表示為NA(Python內(nèi)置的None值)。
替換值
.replace(old, new) :用新的數(shù)據(jù)替換老的數(shù)據(jù),如果希望一次性替換多個(gè)值,old和new可以是列表。默認(rèn)會(huì)返回一個(gè)新的對(duì)象,傳入inplace=True可以對(duì)現(xiàn)有對(duì)象進(jìn)行就地修改。
刪除重復(fù)數(shù)據(jù)
利用函數(shù)或字典進(jìn)行數(shù)據(jù)轉(zhuǎn)換
df.head():查詢數(shù)據(jù)的前五行
df.tail():查詢數(shù)據(jù)的末尾5行
pandas.cut()
pandas.qcut() 基于分位數(shù)的離散化函數(shù)?;谥然蚧跇颖痉治粩?shù)將變量離散化為等大小桶。
pandas.date_range() 返回一個(gè)時(shí)間索引
df.apply() 沿相應(yīng)軸應(yīng)用函數(shù)
Series.value_counts() 返回不同數(shù)據(jù)的計(jì)數(shù)值
df.aggregate()
df.reset_index() 重新設(shè)置index,參數(shù)drop = True時(shí)會(huì)丟棄原來的索引,設(shè)置新的從0開始的索引。常與groupby()一起用
numpy.zeros()
df是DataFrame的縮寫,這里表示讀取進(jìn)來的數(shù)據(jù),比如,最簡(jiǎn)單的一個(gè)實(shí)例:
import pandas as pd
df = pd.read_excel(r'C:\Users\Shan\Desktop\x.xlsx')
print(df.head())
df.head()會(huì)將excel表格中的第一行看作列名,并默認(rèn)輸出之后的五行,在head后面的括號(hào)里面直接寫你想要輸出的行數(shù)也行,比如2,10,100之類的。
excel表:
輸出結(jié)果: