一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python pandas 交叉表, 透視表

 網(wǎng)摘文苑 2022-11-20 發(fā)布于新疆

透視表 pivot table

透視表(pivot table)是常見的數(shù)據(jù)匯總工具,它根據(jù)一個(gè)或多個(gè)鍵對(duì)數(shù)據(jù)進(jìn)行聚合,根據(jù)行和列上的分組鍵將數(shù)據(jù)分配到矩形區(qū)域中。
pandas中使用pivot_table方法創(chuàng)建透視表,
pd.pivot_table(data,values=None,index=None,columns=None,aggfunc='mean'
,fill_value=None,margins=False,dropna=True,margins_name='ALL')
 
    data:DataFrame對(duì)象
    values:要聚合的列或列的列表
    index:數(shù)據(jù)透視的index,從原始數(shù)據(jù)的列中篩選
    columns:數(shù)據(jù)透視表的columns,從原始數(shù)據(jù)的列中篩選
    aggfunc:用于聚合的函數(shù),默認(rèn)為numpy,mean,支持numpy計(jì)算方法
    
    ------------原數(shù)據(jù)------------
        date key    values
0 2019-01-01   a  6.372699
1 2019-01-02   b  0.649605
2 2019-01-03   c  4.897285
3 2019-01-01   d  7.758373
4 2019-01-02   a  1.576888
5 2019-01-03   b  8.217029
6 2019-01-01   c  5.454403
7 2019-01-02   a  5.072132
8 2019-01-03   b  2.875602
------------透視表1------------

print(pd.pivot_table(df,values = 'values',index = ['date'],columns='key',aggfunc=np.sum))
key                a          b         c         d
date                                               
2019-01-01  6.372699        NaN  5.454403  7.758373
2019-01-02  6.649020   0.649605       NaN       NaN
2019-01-03       NaN  11.092630  4.897285       NaN
------------透視表2------------

#分別以date,key共同做數(shù)據(jù)透視,值為values:統(tǒng)計(jì)不同(date,key)情況下values的計(jì)數(shù)

#aggfunc=len(或者count):計(jì)數(shù)

print(pd.pivot_table(df,values = 'values',index = ['date','key'],aggfunc=len))
                values
date       key        
2019-01-01 a       1.0
           c       1.0
           d       1.0
2019-01-02 a       2.0
           b       1.0
2019-01-03 b       2.0
           c       1.0



    
交叉表:crosstab

默認(rèn)情況下,crosstab計(jì)算因子的頻率,比如用于str的數(shù)據(jù)透視分析

pd.crosstab(index,columns,values=None,rownames=None
,colnames=None,aggfunc=None,margins=False,dropna=True,normalize=False)



------------原數(shù)據(jù)------------
    A  B    C
0  1  3  1.0
1  2  3  1.0
2  2  4  NaN
3  2  4  1.0
4  2  4  1.0
------------交叉表1------------

print(pd.crosstab(df['A'],df['B']))
B  3  4
A      
1  1  0
2  1  3
------------交叉表2------------

print(pd.crosstab(df['A'],df['B'],normalize=True))#以頻率的方式顯示
B    3    4
A          
1  0.2  0.0
2  0.2  0.6
------------交叉表3------------

print(pd.crosstab(df['A'],df['B'],values=df['C'],aggfunc=np.sum))

#values:根據(jù)因子聚合的值數(shù)組

#aggfunc:如果未傳遞values數(shù)組,則計(jì)算頻率表,如果傳遞數(shù)組,則按照指定計(jì)算

#這里相當(dāng)于以A和B界定分組,計(jì)算出每組中第三個(gè)系列C的值
B    3    4
A          
1  1.0  NaN
2  1.0  2.0
------------交叉表4------------

print(pd.crosstab(df['A'],df['B'],values=df['C'],aggfunc=np.sum,margins=True))

#margins:布爾值,默認(rèn)值False,添加行/列邊距(小計(jì))
B      3    4  All
A                 
1    1.0  NaN  1.0
2    1.0  2.0  3.0
All  2.0  2.0  4.0


REF

https://blog.csdn.net/pythoncsdn111/article/details/98240358

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    尹人大香蕉中文在线播放| 日韩欧美第一页在线观看| 午夜精品在线视频一区| 人妻一区二区三区多毛女| 色综合伊人天天综合网中文| 欧美久久一区二区精品| 91欧美日韩精品在线| 免费在线播放一区二区| 激情五月天免费在线观看| 精产国品一二三区麻豆| 激情视频在线视频在线视频| 国产精品国三级国产专不卡| 又大又长又粗又猛国产精品| 91亚洲国产日韩在线| 妻子的新妈妈中文字幕| 亚洲午夜精品视频观看| 少妇毛片一区二区三区| 亚洲精品中文字幕欧美| 亚洲国产成人av毛片国产 | 在线观看免费视频你懂的 | 日韩精品一级片免费看| 国产成人精品一区二三区在线观看 | 欧美成人精品一区二区久久| 亚洲国产成人av毛片国产| 日本不卡一区视频欧美| 老司机精品一区二区三区| 日本欧美一区二区三区在线播| 99久久国产精品免费| 成人精品欧美一级乱黄| 69老司机精品视频在线观看| 国产中文字幕一区二区| 成人欧美精品一区二区三区| 成年女人下边潮喷毛片免费| 人妻偷人精品一区二区三区不卡| 欧美日韩在线第一页日韩| 激情图日韩精品中文字幕| 欧洲日本亚洲一区二区| 精品亚洲av一区二区三区| 99久免费精品视频在线观| 99久久国产亚洲综合精品| 99热九九在线中文字幕|