主頁 > 知識庫 > pandas實(shí)現(xiàn)按照Series分組示例

pandas實(shí)現(xiàn)按照Series分組示例

熱門標(biāo)簽:南昌地圖標(biāo)注 旅游廁所地圖標(biāo)注怎么弄 電梯新時達(dá)系統(tǒng)外呼顯示e 宿州電話機(jī)器人哪家好 成都呼叫中心外呼系統(tǒng)哪家強(qiáng) 百應(yīng)電話機(jī)器人總部 無錫智能外呼系統(tǒng)好用嗎 西青語音電銷機(jī)器人哪家好 地圖標(biāo)注與注銷

本文用到的表格內(nèi)容如下:

先來看一下數(shù)據(jù)情形

import pandas as pd
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df)

result:
      分類  編號    名稱
0     水果   0    蘋果
1     水果   1    橙子
2   生活用品   2    牙刷
3   生活用品   3    冰箱
4   生活用品   4   電視機(jī)
5     食物   0    蘋果
6     食物   1    橙子
7     家電   3    冰箱
8     家電   4   電視機(jī)
9     大件   3    冰箱
10    大件   4   電視機(jī)
11    大件   5    茶幾
12  生活用品   7  暖手寶寶
13  小說   8   紅樓夢

將DataFrame的其中一列取出來就是一個Series,比如life_df["分類"]就是一個Series

1 按照一個Series進(jìn)行分組

life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分類"]))

result:

pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001506806C6C8>

從上面的結(jié)果可以看出,如果只是傳入Series,分組后的結(jié)果是一個DataFrameGroupBy對象。這個對象包含著分組以后的若干組數(shù)據(jù),但是沒有直接顯示出來,需要對這些分組數(shù)據(jù)進(jìn)行匯總計(jì)算以后才會顯示出來

life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分類"]).count())

result:
  編號  名稱

分類          
大件     3   3
家電     2   2
小說     1   1
水果     2   2
生活用品   4   4
食物     2   2

上面的代碼是根據(jù)物品分類對所有數(shù)據(jù)進(jìn)行了分組,然后對分組以后的數(shù)據(jù)分別進(jìn)行計(jì)數(shù)運(yùn)算,最后進(jìn)行合并。

由于對分組后的數(shù)據(jù)進(jìn)行了計(jì)數(shù)運(yùn)算,因此每一列都會有一個結(jié)果。但是如果對分組后的結(jié)果做一些數(shù)值運(yùn)算,這個時候只有數(shù)據(jù)類型是數(shù)值(int、float)的列才會參與運(yùn)算

import pandas as pd
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分類"]).sum())

result:
      編號

分類      
大件    12
家電     7
小說     8
水果     1
生活用品  16
食物     1

我們把這種對分組后的數(shù)據(jù)進(jìn)行匯總運(yùn)算的操作稱為聚合,使用的函數(shù)稱為聚合函數(shù)。比如前面系列文章提高的非空值計(jì)數(shù)、sum求和、最大值最小值、均值、中位數(shù)、眾數(shù)、方差、標(biāo)準(zhǔn)差和分位數(shù)這些。都屬于聚合函數(shù)。

2 按照多個Series進(jìn)行分組

多Series分組和單Series分組差不多,只要將多個Series以列表的形式傳遞給groupby()即可。

life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby([life_df["分類"], life_df["名稱"]]).count())

result:
       編號

分類   名稱      
大件   冰箱     1
     電視機(jī)    1
     茶幾     1
家電   冰箱     1
     電視機(jī)    1
小說   紅樓夢    1
水果   橙子     1
     蘋果     1
生活用品 冰箱     1
     暖手寶寶   1
     牙刷     1
     電視機(jī)    1
食物   橙子     1
     蘋果     1

life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby([life_df["分類"], life_df["名稱"]]).sum())

result:
       編號

分類   名稱      
大件   冰箱     3
     電視機(jī)    4
     茶幾     5
家電   冰箱     3
     電視機(jī)    4
小說   紅樓夢    8
水果   橙子     1
     蘋果     0
生活用品 冰箱     3
     暖手寶寶   7
     牙刷     2
     電視機(jī)    4
食物   橙子     1
     蘋果     0

3 分組和聚合采用不同的列或Series進(jìn)行

這里和按列分組的用法一致

life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分類"])["名稱"].count())

result:
分類
大件      3
家電      2
小說      1
水果      2
生活用品    4
食物      2
Name: 名稱, dtype: int64

這里就是按照物品分類進(jìn)行分組,再按照物品名稱進(jìn)行匯總統(tǒng)計(jì)

到此這篇關(guān)于pandas實(shí)現(xiàn)按照Series分組示例的文章就介紹到這了,更多相關(guān)pandas Series分組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • pandas把dataframe轉(zhuǎn)成Series,改變列中值的類型方法
  • Pandas把dataframe或series轉(zhuǎn)換成list的方法
  • 在python中pandas的series合并方法
  • python pandas 對series和dataframe的重置索引reindex方法
  • pandas中的series數(shù)據(jù)類型詳解
  • pandas series序列轉(zhuǎn)化為星期幾的實(shí)例
  • Python3.5 Pandas模塊之Series用法實(shí)例分析
  • pandas 數(shù)據(jù)結(jié)構(gòu)之Series的使用方法
  • 使用Pandas的Series方法繪制圖像教程

標(biāo)簽:七臺河 雅安 西安 辛集 濰坊 渭南 許昌 贛州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pandas實(shí)現(xiàn)按照Series分組示例》,本文關(guān)鍵詞  pandas,實(shí)現(xiàn),按照,Series,分組,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《pandas實(shí)現(xiàn)按照Series分組示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于pandas實(shí)現(xiàn)按照Series分組示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章