国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 漳州市| 弥渡县| 灵石县| 五家渠市| 上杭县| 和静县| 周至县| 独山县| 闵行区| 厦门市| 新丰县| 江永县| 仪陇县| 绥阳县| 蕉岭县| 北海市| 舟曲县| 禄丰县| 灵丘县| 萍乡市| 满城县| 晋中市| 新巴尔虎左旗| 崇信县| 黄浦区| 龙游县| 沁阳市| 寿光市| 洪湖市| 全州县| 凤阳县| 瑞金市| 汽车| 民县| 怀远县| 博罗县| 谷城县| 尤溪县| 东乌珠穆沁旗| 兴义市| 兖州市|