麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

淺談pandas用groupby后對層級索引levels的處理方法

2020-02-15 23:33:09
字體:
供稿:網(wǎng)友

層及索引levels,剛開始學(xué)習(xí)pandas的時候沒有太多的操作關(guān)于groupby,僅僅是簡單的count、sum、size等等,沒有更深入的利用groupby后的數(shù)據(jù)進行處理。近來數(shù)據(jù)處理的時候有遇到這類問題花了一點時間,所以這里記錄以及復(fù)習(xí)一下:(以下皆是個人實踐后的理解)

我使用一個實例來講解下面的問題:一張數(shù)據(jù)表中有三列(動物物種、物種品種、品種價格),選出每個物種從大到小品種的前兩種,最后只需要品種和價格這兩列。

pandas groupby后對層級索引levels

以上這張表是我們后面需要處理的數(shù)據(jù)表 (物種 品種 價格)

levels:層及索引 (創(chuàng)建pandas類型時可以預(yù)先定義;使用groupby后也會生成)

我們看看levels什么樣(根據(jù)df1物種分類,再根據(jù)df2品種排序后 如下圖)

pandas groupby后對層級索引levels

圖中可以看出,根據(jù)groupby分類后的cat、dog便是level,以及后面的一列原始位置索引也是level

好了現(xiàn)在簡單了解levels,我們該如何對它進行處理,如何完成上面的實例呢?(可能你拿到這樣的層級數(shù)據(jù),不會操作,不知道如何提取其中的信息)

代碼及講解如下:

首先導(dǎo)入pandas、numpy庫,以及創(chuàng)建原始數(shù)據(jù):

import pandas as pdimport numpy as npdf = pd.DataFrame({'df1':['cat','cat','dog','cat','dog','dog'],'df2':[2,3,4,1,3,1],'df3':[100,200,100,300,200,200]})

原始數(shù)據(jù)最上面那張圖

下面我們根據(jù)物種來分類,并且使用apply調(diào)用sort_df2函數(shù)對品種進行排序:

def sort_df2(data): data = data.sort_values(by='df2',ascending=False) #df2:品種列 ascending:排序方式 return datagroup = df.groupby(df['df1']).apply(sort_df2) #groupby以及apply的結(jié)合使用

處理后數(shù)據(jù),上面第二張圖

print(group.index) #看看groupby后的行索引什么樣

pandas groupby后對層級索引levels

groupby后如上圖,有層級標(biāo)簽(這里兩列),labels標(biāo)簽(分類,位置)

這里我們需要的是第一層級標(biāo)簽的第一列(也就是cat、dog)

levels = group.index.levels[0] #取出第一級標(biāo)簽:

下面將是兩層循環(huán),完成從中選出(物種前兩個品種以及它的價格),很簡單的操作:

values = []for i in levels: mid_group = group.loc[i] #選出i標(biāo)簽物種的所有品種 mid_group = mid_group.iloc[:2,:] #我們只取排序后的品種的前兩種(要注意這里使用iloc,它與loc的區(qū)別) cnt = len(mid_group) #為了防止循環(huán)長度錯誤,所以我們還是需要計算長度,因為如果真正數(shù)據(jù)不足2條還是不報錯 for j in range(cnt): #現(xiàn)在在每個物種cat、dog中操作 value = mid_group.iloc[j,:] #我們選出該物種的第j條所有信息df1、df2、df3 value_pro = (value['df2'],value['df3']) #然后只取df2、df3,將它們放到元組中 values.append(value_pro)            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品国产高清一区二区三区 | 日本在线一区二区 | 国产精品成aⅴ人片在线观看 | 视频在线91| 欧美成人一级片 | 日本高清黄色片 | 国产成人av一区二区 | 亚洲成人涩涩 | av亚洲在线观看 | 国产精品久久久久久婷婷天堂 | 艹男人的日日夜夜 | 成码无人av片在线观看网站 | 一级黄色毛片播放 | 国产欧美日韩视频在线观看 | 中文字幕在线观看网址 | 亚洲欧美国产高清va在线播放 | 黄色的视频在线观看 | 国产99久久久久 | 99久久电影| 久久久久免费电影 | 久久人人爽人人爽人人片av高清 | 天天色综合2 | 午夜看毛片 | 校花被肉干高h潮不断 | 黄色片网站免费在线观看 | 成品片a免费直接观看 | 日本高清黄色片 | 国产乱淫av| 一区二区国产在线 | 一区二区三区在线视频观看58 | 福利在线国产 | a在线视频 | 免费观看一区二区三区 | 高潮娇喘嗯啊~文字 | av成人免费在线观看 | 91网视频在线观看 | 鲁丝一区二区二区四区 | 欧美精品一区二区三区在线 | qyl在线视频精品免费观看 | 天堂成人国产精品一区 | 宅男噜噜噜66国产在线观看 |