国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

在Pandas中給多層索引降級的方法

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

# 背景介紹 通常我們不會在Pandas中主動設(shè)置多層索引,但是如果一個字段做多個不同的聚合運算, 比如sum, max這樣形成的Column Level是有層次的,這樣閱讀非常方便,但是對編程定位比較麻煩. # 數(shù)據(jù)準(zhǔn)備

import pandas as pdimport numpy as npdf = pd.DataFrame(np.arange(0, 14).reshape(7,2),columns =['a','b'] )df.a = df.a %3df['who'] = 'Bob'df.loc[df.a%4==0,'who'] = 'Alice'

a b who
0 0 1 Alice
1 2 3 Bob
2 1 5 Bob
3 0 7 Alice
4 2 9 Bob
5 1 11 Bob
6 0 13 Alice

# 對一個字段同時用3個聚合函數(shù)

gp1 = df.groupby('who').agg({'b':[sum,np.max, np.min], 'a':sum})gp1
b a
sum amax amin sum
who
Alice 8.0 7.0 1.0 0
Bob 28.0 11.0 3.0 6

索引是有層次的,虛要通過下面這種方式,個人感覺不是很方便.下面介紹2種方法來解決這個問題

#有層次的索引訪問方法gp1.loc['Bob', ('b', 'sum')]
28.0

# 直接去除一層

gp2 = gp1.copy(deep=True)gp2.columns = gp1.columns.droplevel(0)gp2

sum amax amin sum
who
Alice 8.0 7.0 1.0 0
Bob 28.0 11.0 3.0 6

# 把2層合并到一層

gp3 = gp1.copy(deep=True)gp3.columns = ["_".join(x) for x in gp3.columns.ravel()]gp3            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凯里市| 扎赉特旗| 通州市| 全椒县| 通江县| 菏泽市| 民和| 华蓥市| 镇雄县| 扶余县| 高州市| 龙州县| 思南县| 杨浦区| 庆元县| 慈溪市| 蒲城县| 麦盖提县| 鸡东县| 凤凰县| 鸡泽县| 南华县| 论坛| 栾川县| 内乡县| 祁连县| 环江| 铁力市| 吕梁市| 建宁县| 桂林市| 扎鲁特旗| 微山县| 鄂托克旗| 航空| 铜鼓县| 安多县| 竹山县| 即墨市| 青州市| 宿松县|