pandas索引,分组计算

索引

1.行索引

#看一个一维数组的索引
s=pd.Series(np.random.randn(5),index=list('abcde'))
s
s.index#Series的索引
s.index.name='zrx'#给索引赋一个名字
#查询pandas里预置的索引的类
pd.*index?

2.重复索引

#重复索引
s=pd.Series(np.arange(6),index=list('abcabe'))
s
s['a']
out[10]:
a    0
a    3
dtype: int32


s.index.is_unique#判断索引里面有无重复的
s.groupby(s.index).sum()#处理重复索引,把重复索引求和
s.groupby(s.index).mean()#处理重复索引,把重复索引求平均
s.groupby(s.index).first()#处理重复索引,把重复索引只取第一项

3.层次化索引

可以使数据在一个轴上有多个索引级别。即可以用二维的数据表达更高维度的数据,使数据组织方式更清晰。它使用 pd.MultiIndex 类来表示。
比如我们在分析股票数据,我们的一级行索引可以是日期;二级行索引可以是股票代码,列索引可以是股票的交易量,开盘价,收盘价等等。这样我们就可以把多个股票放在同一个时间维度下进行考察和分析。

#多级索引pd.MultiIndex
a = [['a', 'a', 'a', 'b', 'b', 'c', 'c'], [1, 2, 3, 1, 2, 2, 3]]
tuples = list(zip(*a))#把两个列表组装成一个,列表里的元素是元组
tuples
index=pd.MultiIndex.from_tuples(tuples,names=['level1','level2'])
index
s=pd.Series(np.random.randn(7),index=index)
s
#选取一级索引
s['b']

s['b',2]

dataframe 多层索引

df = pd.DataFrame(np.random.randint(
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值