dataframe中axis值为0和1的区别

dataframe中axis值为0和1的区别

1.列表如下

    df = pd.DataFrame(
        [[1, 1, 1], [2, 2, 2], [3, 3, 3]],
        columns=['a', 'b', 'c'],
        index=['d', 'e', 'f'])
   a  b  c
d  1  1  1
e  2  2  2
f  3  3  3

需要注意的是,如果想要给dataframe中插入随机数,思路如下

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10, 3), columns=list('abc'))
          a                   b                 c
0 -0.578813  0.756792 -0.678878
1  0.479110  1.187211  0.651269
2  1.229985  0.517533  0.213482
3  1.603191  1.164784 -0.004222
4 -1.010882 -0.008416  0.083528

2.axis=0

    df = pd.DataFrame(
        [[1, 1, 1], [2, 2, 2], [3, 3, 3]],
        columns=['a', 'b', 'c'],
        index=['d', 'e', 'f'])
    print(df.mean(axis=0))

输出:

a    2.0
b    2.0
c    2.0

3.axis=1

例子1:

    df = pd.DataFrame(
        [[1, 1, 1], [2, 2, 2], [3, 3, 3]],
        columns=['a', 'b', 'c'],
        index=['d', 'e', 'f'])
    print(df.mean(axis=1))

输出:

d    1.0
e    2.0
f    3.0

例子2:

在dateframe中新增一列,在这个例子中,axis比如为1,写0则会报错

def ac(a,b):
	print(a)
    return 10
def test4():
    df = pd.DataFrame(
        [[1, 1, 1], [2, 2, 2], [3, 3, 3]],
        columns=['a', 'b', 'c'],
        index=['d', 'e', 'f'])
    df['g'] = df.apply(lambda row:ac(row['a'],row['b']),axis=1)
    print(df.head(10))

输出:

a = 1
a = 2
a = 3
   a  b  c   g
d  1  1  1  10
e  2  2  2  10
f  3  3  3  10

结论:从上图的结果,按照我的理解,尤其是例子2,apply每次都会将一行数据传给ac函数进行 处理

​ 所以,axis=1时,某一瞬间,会处理一整行数据,处理完之后,再处理下一行

​ axis=0时,同理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值