久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

一文掌握 Series 和 DataFrame 的基礎(chǔ)功能

 LibraryPKU 2019-11-17


?

zarten,,互聯(lián)網(wǎng)一線工作者,。

博客地址:zhihu.com/people/zarten

概述

這篇將介紹Series和DataFrame公有的一些重要的基礎(chǔ)功能知識點(diǎn),。

重新索引排列

重新索引排列是指:可以將索引重新排列,,若給出的新索引在舊索引中不存在時,,會引入缺失值NaN,。

重新索引排列不會改變原來的對象,而是會生成一個重新排列索引的對象,。

使用Series和DataFrame的reindex()方法即可,。

Series

import pandas as pd

zarten_ser = pd.Series(['z1','z2','z3','z4'])


有時重新排列時,若新增一個之前沒有的索引時值會自動填充NaN,,若不想填充NaN,,可以使用參數(shù)method= ‘ffill’,這時填充值會跟前面的值一樣

同時也可以使用參數(shù) fill_value 來自己指定值,,如下

DataFrame

DataFrame也是一樣的,,若不指定,默認(rèn)是重新排列行,,若指定列,,也可重新排序列。

import pandas as pd

info = {
    'name' : ['zarten_1', 'zarten_2', 'zarten_3'],
    'age' : [18, 19, 20]
}

zarten_df = pd.DataFrame(info)

若需要重新排序列,,只需指定參數(shù)columns即可

刪除指定索引

刪除指定的一個或多個索引及其對應(yīng)的值,,使用drop()方法,,默認(rèn)是產(chǎn)生一個新的對象,不會改變原有對象,。

刪除多個索引時傳入一個列表

注意:若指定的索引不存在時,,會報錯

Series

import pandas as pd

zarten_ser = pd.Series(['z1','z2','z3','z4'])

上面使用drop后都會產(chǎn)生一個新的對象,不會改變原對象,。若想直接在原對象上進(jìn)行刪除,,可以使用參數(shù) inplace= True (慎用!?。,。?br>

DataFrame

同樣,默認(rèn)是刪除行,,若要刪除列索引及值,,使用axis參數(shù),axis默認(rèn)為0代表行,,1代表列

import pandas as pd

info = {
    'name' : ['zarten_1', 'zarten_2', 'zarten_3'],
    'age' : [18, 19, 20]
}

zarten_df = pd.DataFrame(info)

相同數(shù)據(jù)結(jié)構(gòu)間的算術(shù)運(yùn)算

相同的數(shù)據(jù)結(jié)構(gòu)(Series和DataFrame)間的算術(shù)運(yùn)算,,跟并集的思想類似,也就是沒有對應(yīng)的索引時,,會自動填充NaN

Series

import pandas as pd

zarten_ser_1 = pd.Series([2,'z2','z3','z4'])

zarten_ser_2 = pd.Series([3,'w2','w3','w4','w5'])

zarten_ser_1_2 = zarten_ser_1 + zarten_ser_2

若想填充自己指定的值時,,可以使用add方法,參數(shù)fill_value

import pandas as pd

zarten_ser_1 = pd.Series([2,5,3,7])

zarten_ser_2 = pd.Series([3,3,4,4,5])

DataFrame

DataFrame數(shù)據(jù)結(jié)構(gòu)算術(shù)運(yùn)算時就比較刁鉆了,,必須是行和列索引都相同時才能相加,,若有一個不同就是NaN

import pandas as pd

info_1 = {
    'name' : ['zarten_1', 'zarten_2', 'zarten_3'],
    'age' : [18, 19, 20]
}
zarten_df_1 = pd.DataFrame(info_1)

zarten_df_2 = pd.DataFrame([['x1','x2','x3'], ['y1','y2','y3'], ['z1','z2','z3']], index= [0,'b','c'], columns= ['name','w','t'])

還有其他的一些算術(shù)運(yùn)算如下圖,這里將不再闡述,,大同小異

Series與DataFrame之間的運(yùn)算

這兩者間的運(yùn)算會廣播到所有元素,。

若互相都沒有相同的索引時,同樣會產(chǎn)生NaN

import pandas as pd
import numpy as np

zarten_df = pd.DataFrame(np.arange(12).reshape((4,3)), index= ['a','b','c','d'], columns= ['x','y','z'])

zarten_ser = pd.Series([1,2,3], index= ['x','y','z'])

從上圖可以看到,,DataFrame每一行都減去了Series,。

更多的操作可以詳細(xì)閱讀官方文檔。

排序

索引排序:行或列索引排序,,使用sort_index()函數(shù),,默認(rèn)是行索引排序,且默認(rèn)是升序

值排序:也可對值排序,,使用函數(shù)sort_values()函數(shù)

Series

import pandas as pd

zarten_ser = pd.Series([1,20,18,4], index= ['x','y','z','a'])

索引排序:

值排序:

DataFrame

import pandas as pd
import numpy as np

zarten_df = pd.DataFrame(np.arange(12).reshape((4,3)), index= [4,1,2,3], columns= ['z','x','y'])

索引排序:

由上圖可看到,,默認(rèn)為行索引排序,若需要列索引排序,,只需指定axis=1 即可

值排序:由于DataFrame是行和列組成,,值排序是列的由上到下的排序,可指定一列或多列,,通過by參數(shù)

也可以進(jìn)行多列排序,,只需傳入?yún)?shù)by一個列表即可,。根據(jù)by指定的順序優(yōu)先排列

統(tǒng)計

下面將介紹一些常用的統(tǒng)計方法

求和

使用函數(shù)sum(),默認(rèn)是每一列求和,,可以通過參數(shù)axis來設(shè)置行或列,,DataFrame的結(jié)果是一個Series對象

Series

import pandas as pd

zarten_ser = pd.Series([1,2,3,4], index= ['x','y','z','a'])

DataFrame

import pandas as pd
import numpy as np

zarten_df = pd.DataFrame(np.arange(12).reshape((4,3)), index= [4,1,2,3], columns= ['z','x','y'])

由上圖可看到,求和默認(rèn)是每列求和,,若需要每行求和,,可使用參數(shù)axis= 0

還有其他參數(shù),如:若存在NaN時,,默認(rèn)結(jié)果會剔除NaN,,可通過參數(shù)skipna設(shè)置。

其他參數(shù)如下圖所示:

其他統(tǒng)計方法

比如比較常用的describe()函數(shù),,一次可以統(tǒng)計出多方面的信息

import pandas as pd
import numpy as np

zarten_df = pd.DataFrame(np.arange(12).reshape((4,3)), index= [4,1,2,3], columns= ['z','x','y'])

由上圖看到,,結(jié)果有多項(xiàng),都是針對列而言,,具體含義如下:

count : 計數(shù)(此列的總個數(shù))

mean :平均值

std :標(biāo)準(zhǔn)差

min :最小值

25% :下四分位

50% :中位數(shù)

75% :上四分位

max :最大值

其他統(tǒng)計函數(shù)如下所示:

第三方庫統(tǒng)計工具

第三方庫:pandas-profiling

官方地址:

https://github.com/pandas-profiling/pandas-profiling

Python中文社區(qū)作為一個去中心化的全球技術(shù)社區(qū),,以成為全球20萬Python中文開發(fā)者的精神部落為愿景,目前覆蓋各大主流媒體和協(xié)作平臺,,與阿里,、騰訊、百度,、微軟、亞馬遜,、開源中國,、CSDN等業(yè)界知名公司和技術(shù)社區(qū)建立了廣泛的聯(lián)系,擁有來自十多個國家和地區(qū)數(shù)萬名登記會員,,會員來自以工信部,、清華大學(xué)、北京大學(xué),、北京郵電大學(xué),、中國人民銀行、中科院,、中金,、華為、BAT,、谷歌,、微軟等為代表的政府機(jī)關(guān)、科研單位,、金融機(jī)構(gòu)以及海內(nèi)外知名公司,,全平臺近20萬開發(fā)者關(guān)注,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多