pandas运算、排序、排名

本文通过实例演示了使用 Pandas 进行数据处理的方法,包括 Series 和 DataFrame 的基本运算、索引排序及排名等操作。文章还展示了广播机制在数组运算中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd
import numpy as np
#Series运算
s1=pd.Series([7.3,-2.5,3.4,1.5],index=['a','c','d','e'])
s2=pd.Series([-2.1,3.6,-1.5,4,3.1],index=['a','c','e','f','g'])
print(s1+s2)
print(s1.add(s2,fill_value=0))#加法
#DataFrame运算
df1=pd.DataFrame(np.arange(9).reshape((3,3,)),columns=list('bcd'),index=['aa','bb','cc'])
df2=pd.DataFrame(np.arange(12).reshape((4,3)),columns=list('bde'),index=['aa','dd','bb','ee'])
print(df1+df2)
print(df1.sub(df2))#减法
#广播
arr=np.arange(12).reshape((3,4))
print(arr)
print(arr-arr[0])
#按列方向传播
frame=pd.DataFrame(np.arange(9).reshape(3,3),index=['aa','bb','cc'],columns=['a','b','c'])
print(frame)
series1=frame['b']
print(series1)
print(frame.sub(series1,axis=0))
print('======================================')
#Series索引排序
obj=pd.Series(range(4),index=['d','a','b','c'])
print(obj)
print(obj.sort_index())
#DataFrame索引排序
frame=pd.DataFrame(np.arange(8).reshape((2,4)),index=['three','one'],columns=['d','a','b','c'])
print(frame)
print(frame.sort_index(axis=1))#按columns排序
print(frame.sort_index(axis=1,ascending=False))#降序
obj=pd.Series([4,7,-3,2])
#obj.order()
frame=pd.DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1]})
print(frame)
print(frame.sort_values(by='b'))#按某列数值排序
#排名
obj=pd.Series([7,-5,7,4,2,0,4])
print(obj.rank())
print(obj.rank(method='first'))
print(obj.rank(ascending=False,method='min'))
frame=pd.DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1],'c':[-2,5,8,-2]})
print(frame)
print(frame.rank(axis=1))#按行排名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值