pandas算术算术运算与数据对齐

# range()打出来的相当于是数列,arange()打出来的相当于是数组
obj_one=pd.Series(range(10,13),index=range(3))
print(obj_one)
obj_two=pd.Series(range(10,15),index=range(5))
print(obj_two)
# 两数相加,没有对应值的话结果就会是NaN
obj_one+obj_two
# 使用add(),可以确定填充值,这里填充值是加在obj_one上面
obj_one.add(obj_two,fill_value=1)
​
​
# -------------------------------下面是输出结果--------------------------------
0    10
1    11
2    12
dtype: int64
---------------------------------
0    10
1    11
2    12
3    13
4    14
dtype: int64
---------------------------------
0    20.0
1    22.0
2    24.0
3    14.0
4    15.0
dtype: float64

数据的排序(按索引排序和按值排序)

下面是按索引排序

# 按索引排序
#sort_index(axis=0,level=None,ascending=True,inplace=False,kind='quicksort',na_position='last',sort_remainin#g=True)
# level:若不为None,则对指定索引级别的值进行排序
# ascending:是否升序排序
# inplace:默认为False,表示对数据进行排序,不代替原有数据
# kind:默认为False,表示对数据表进行排序
# na_position:表示把空值放到最后面
# Series对象的值索引
ser_obj=pd.Series(range(5),index=[5,3,2,1,4])
print(ser_obj)
# 按索引值排序
print(ser_obj.sort_index())
# 按索引降序排列
ser_obj.sort_index(ascending=False)
​
​
# -----------------------------------下面是输出结果-----------------------------------
5    0
3    1
2    2
1    3
4    4
dtype: int64
-----------------------------
1    3
2    2
3    1
4    4
5    0
dtype: int64
-----------------------------
5    0
4    4
3    1
2    2
1    3
dtype: int64

下面是按值排序

# pandas中数据排序的方法是sort_values()
# sort_values(by,axis=0,ascending=True,inplace=False,kind='quicksort',na_position='last')
# by表示排序的列
#  na_position只有两个值first和last,first表示空值放在前面,last表示空值放在后面
# ascending指是否按指定列进行升序排序
# inplace表示是否用排序后的数据集替换原有数据
# 以上参数均为默认参数
# 创建一个Series对象
obj_three=pd.Series([0.4,np.nan,0.5,np.nan])
print(obj_three)
# 对该数组进行排序
print(obj_three.sort_values())
# 创建一个DataFrame对象
obj_four=pd.DataFrame([[0.1,0.4,0.2,0.5],
                      [0.6,-0.5,0.6,0.2],
                      [0.2,0.3,0.4,0.5],
                      [-0.9,0.8,-.9,1.0]])
print(obj_four)
# 对obj_four进行排序(按第三列进行排序)
obj_four.sort_values(by=3)
​
​
# ---------------------------------下面是输出结果---------------------------------
0    0.4
1    NaN
2    0.5
3    NaN
dtype: float64
----------------------------------
0    0.4
2    0.5
1    NaN
3    NaN
dtype: float64
----------------------------------
     0    1    2    3
0  0.1  0.4  0.2  0.5
1  0.6 -0.5  0.6  0.2
2  0.2  0.3  0.4  0.5
3 -0.9  0.8 -0.9  1.0
     0     1     2       3
1   0.6   -0.5   0.6    0.2
0   0.1   0.4    0.2    0.5
2   0.2   0.3    0.4    0.5
3  -0.9   0.8    -0.9   1.0

统计计算与描述

data_1 = pd.DataFrame(np.arange(12).reshape(3,4),columns=['a','b','c','d'])
data_1


# --------------------------下面是输出结果----------------------------

    a	b	c	d
0	0	1	2	3
1	4	5	6	7
2	8	9	10	11
# 默认按0轴进行相加
data_1.sum()
# 默认按0轴进行找最大值
data_1.max()
# 按1轴找最小值
data_1.min(axis=1)
# 输出多个统计指标
data_1.describe()


# -----------------------------下面是输出结果-----------------------------
a    12
b    15
c    18
d    21
dtype: int64
--------------------------------
a     8
b     9
c    10
d    11
dtype: int32
---------------------------------
0    0
1    4
2    8
dtype: int32
---------------------------------

           a	b	 c	   d
count	  3.0	3.0	 3.0  3.0
mean	  4.0	5.0	 6.0  7.0
std       4.0	4.0  4.0  4.0
min	      0.0	1.0	 2.0  3.0
25%	      2.0	3.0	 4.0  5.0
50%	      4.0	5.0	 6.0  7.0
75%	      6.0	7.0	 8.0  9.0
max	      8.0	9.0	 10.0 11.0

常用的统计函数

函数名称说明
sum计算和
mean计算均值
median计算中位数
max,min计算最大值,最小值
idxmax,idxmin获取索引最大值和最小值
count计算非空值的个数
head获取前N个值
var计算样本方差
std计算标准差
describe对数据进行汇总统计
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值