python的pandas库的sort_values、set_index、reset_index、cumsum、groupby函数的用法

import pandas as pd


#sort_values()函数是按照选中索引所在列的原素进行排序
df=pd.DataFrame({'A':[3,1,1,6,7],'B':['a','d','c','b','e'],'C':[123,343,122,978,459]})

print(df.sort_values('A'))
# 结果
'''
   A  B    C
1  1  d  343
2  1  c  122
0  3  a  123
3  6  b  978
4  7  e  459

'''

#如果多个索引,按照索引先后顺序,依次在上一次索引排序后再对重复排序的内部进行排序
print(df.sort_values(['A','B']))
# 结果
'''
   A  B    C
1  1  e  343
2  1  t  122
0  3  a  123
3  6  o  978
4  7  r  459
'''

# set_index,rset_index:重新设置某一列作为索引/恢复某一列的索引
df=pd.DataFrame({'A':['a','a','e','a','e'],'B':[4,6,5,7,5],'C':[i for i in range(23,28)]})
print(df.set_index('A'))
# 结果
'''
   B   C
A       
a  4  23
a  6  24
e  5  25
a  7  26
e  5  27

'''
sets=df.set_index(['A','B'])
print(sets)
# 结果
'''
      C
A B    
a 4  23
  6  24
e 5  25
a 7  26
e 5  27
'''
sets1=sets.reset_index(['A','B'])
print(sets1)
#结果
'''
   A  B   C
0  a  4  23
1  a  6  24
2  e  5  25
3  a  7  26
4  e  5  27

'''

# cumsum:计算轴向元素累加和,返回由中间结果组成的数组
import numpy as np
# 是2*2*3的数组
arr  = np.array([[[1,2,3],[8,9,12]],[[1,2,4],[2,4,5]]])
print(arr.cumsum(0))
# 结果
'''
[[[ 1  2  3]
  [ 8  9 12]]

 [[ 2  4  7]
  [10 13 17]]]
'''
print(arr.cumsum(1))
# 结果
'''
[[[ 1  2  3]
  [ 9 11 15]]

 [[ 1  2  4]
  [ 3  6  9]]]
'''
print(arr.cumsum(2))
# 结果
'''
[[[ 1  3  6]
  [ 8 17 29]]

 [[ 1  3  7]
  [ 2  6 11]]]
'''

# groupby
df=pd.DataFrame({'A':['age','bwr','age','bwr','dfd'],'B':[1,2,1,5,6],'C':[345,23,345,35,33]})
# 分组后并没有进行计算,下面在'B'列求了平均
print(df.groupby('A')['B'].mean())
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙子园

期待你的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值