Pandas系列学习教程(六)

Pandas系列教程(六)


  对于想要入门数据科学的朋友们来说,Python是一个很好的选择,除了因为简单的语法外,Python 生态中提供了很多在数值计算方面非常优秀的库,其中Pandas不可不提,Pandas是很强大是数据集处理工具,往往和numpy, matplotlib 等库搭配使用,我也是刚刚开始学习Pandas, 顺便翻译了一下官方的Pandas教程, 这里使用的是jupyter notebook, 因为博客不支持html直接编辑,所以只能转化为markdown 格式,如果想直接查看html版本可点击每一节下的链接。本文仅供学习和交流使用,欢迎大家交流和指正!


摘要

  • groupby()函数的使用

HTML版本点击此处

# 导入包
import pandas as pd
import sys

print('Python version ' + sys.version)
print('Pandas version ' + pd.__version__)
Python version 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0]
Pandas version 0.23.0
# 数据集
d = {'one':[1,1,1,1,1],'two':[2,2,2,2,2],'letter':['a','a','b','b','c']}

# 创建数据帧
df = pd.DataFrame(data=d)
df
onetwoletter
012a
112a
212b
312b
412c
# 调用groupby依照letter列分组
one = df.groupby('letter')

# 组内求和
one.sum()
onetwo
letter
a24
b24
c12
# 默认情况下,groupby()的参数列会被设置为index
letterone = df.groupby(['letter','one']).sum()
letterone
two
letterone
a14
b14
c12
letterone.index
MultiIndex(levels=[['a', 'b', 'c'], [1]],
           labels=[[0, 1, 2], [0, 0, 0]],
           names=['letter', 'one'])
# 使用默认的index 0,1,2...
letterone = df.groupby(['letter','one'],as_index=False).sum()

letterone
letteronetwo
0a14
1b14
2c12
letterone.index
Int64Index([0, 1, 2], dtype='int64')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值