当前位置: 首页 > 文档资料 > Pandas 官方教程 >

学习 Pandas - 06 - Lesson

优质
小牛编辑
128浏览
2023-12-01

英文原文: 06 - Lesson

我们看一下 groupby 这个函数。

  1. # 导入库
  2. import pandas as pd
  3. import sys
  1. print('Python version ' + sys.version)
  2. print('Pandas version ' + pd.__version__)
  1. Python version 3.6.1 | packaged by conda-forge | (default, Mar 23 2017, 21:57:00)
  2. [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]
  3. Pandas version 0.19.2
  1. # 我们的小数聚集
  2. d = {'one':[1,1,1,1,1],
  3. 'two':[2,2,2,2,2],
  4. 'letter':['a','a','b','b','c']}
  5. # 创建一个 dataframe
  6. df = pd.DataFrame(d)
  7. df










































letteronetwo
0a12
1a12
2b12
3b12
4c12

  1. # 创建一个 groupby 对象
  2. one = df.groupby('letter')
  3. # 在分组上应用 sum() 函数
  4. one.sum()































onetwo
letter
a24
b24
c12

  1. letterone = df.groupby(['letter','one']).sum()
  2. letterone































two
letterone
a14
b14
c12

  1. letterone.index
  1. MultiIndex(levels=[['a', 'b', 'c'], [1]],
  2. labels=[[0, 1, 2], [0, 0, 0]],
  3. names=['letter', 'one'])

你可能不想把用来分组的列名字作为索引,像下面的做法很容易实现。

  1. letterone = df.groupby(['letter','one'], as_index=False).sum()
  2. letterone






























letteronetwo
0a14
1b14
2c12

  1. letterone.index
  1. Int64Index([0, 1, 2], dtype='int64')