Pandas的axis参数

Pandas的axis参数理解:

  • axis=0 或者 'index':
  1. 如果是单行操作,就指某一行
  2. 如果是聚合操作,就指跨行cross rows
  • axis=1 或者 'columns':
  1. 如果是单列操作,就指某一列
  2. 如果是聚合操作,指的是跨列corss columns
  • 按哪个axis, 就是这个axis要动起来(类似被for遍历),其它的axis保持不动

例子:我们先新建一个DataFrame, 这个df包含12(0-11)个数字,3行4列,并加上列标签A,B,C,D

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(12).reshape(3,4),columns=['A','B','C','D'])
print(df)
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11

1. 单列drop,就是删除某一列。
# 代表的就是删除某列
df = df.drop('A',axis=1)  ## 删除columns=A列
print(df)
   B   C   D
0  1   2   3
1  5   6   7
2  9  10  11
df = df.drop(1,axis=0)    ## 删除index=1的行
print(df)
   B   C   D
0  1   2   3
2  9  10  11

3. 按axis=0/index 执行mean聚合操作

df = pd.DataFrame(np.arange(12).reshape(3,4),columns=['A','B','C','D'])
print(df)
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
df = df.mean(axis=0)  ##指定按哪个axis,就是这个axis要动起来,其它axis保持不动
print(df)
A    4.0
B    5.0
C    6.0
D    7.0
dtype: float64

4. 按axis=1/colmns执行mean聚合操作

df = pd.DataFrame(np.arange(12).reshape(3,4),columns=['A','B','C','D'])
print(df)
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
df = df.mean(axis=1)  ##指定按哪个axis,就是这个axis要动起来,其它axis保持不动
print(df)
0    1.5
1    5.5
2    9.5
dtype: float64

5.再次枚举

df = pd.DataFrame(np.arange(12).reshape(3,4),columns=['A','B','C','D'])
print(df)
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
def get_sum_value(x):
    return x['A'] + x['B'] + x['C'] + x['D']
df['sum_value'] = df.apply(get_sum_value, axis=1)
print(df)
   A  B   C   D  sum_value
0  0  1   2   3          6
1  4  5   6   7         22
2  8  9  10  11         38
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值