axis=0 与 axis=1 的区分

官方帮助的解释:

轴用来为超过一维数组定义的属性,二维数据拥有两个轴:第0轴沿着行的方向垂直向下,第1轴沿着列的方向水平延申。

根据官方的说法,1表示横轴,方向从左到右;0表示纵轴,方向从上到下。当axis=1时,数组的变化是横向的,体现出列的增加或者减少。反之,当axis=0时,数组的变化是纵向的,体现出行的增加或减少。

下图为dataframe中axis为0和1时的图示:

                                  

实例:

df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]],
                  columns=['col0','col1','col2','col3'])
>>>df

               

df.mean(axis=1)
>>>
0    1.0
1    2.0
2    3.0
dtype: float64

df.mean(axis=0)
>>>
col0    2.0
col1    2.0
col2    2.0
col3    2.0
dtype: float64

df.drop('col2',axis=1)
>>>

         

df.drop(0,axis=0)
>>>

        

用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

所以,axis的重点在于方向,而不是行和列,具体体现到各种用法也是如此。

 

转载于:https://blog.csdn.net/brucewong0516/article/details/79030994

np.arange(24).reshape(2,3,4)
>>>
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],

       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])

#生成面板数据
c = pd.Panel(np.arange(24).reshape(2,3,4))
c
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 3 (major_axis) x 4 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 2
Minor_axis axis: 0 to 3

#对Items axis轴的数据进行操作,也就是panel里面的0轴:
c.sum(axis = 0)
>>>
    0   1   2   3
0  12  14  16  18
1  20  22  24  26
2  28  30  32  34

#对Major_axis axis轴的数据进行操作
c.sum(axis = 1)
>>>
    0   1
0  12  48
1  15  51
2  18  54
3  21  57

#对Minor_axis axis轴的数据进行操作
c.sum(axis = 2)
>>>
    0   1
0   6  54
1  22  70
2  38  86

 

转载于:https://blog.csdn.net/brucewong0516/article/details/79030994

 

  • 22
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这段代码使用了 pandas 库中的 concat 函数,将三个经过 One-Hot 编码的 DataFrame 对象 one_hot_protocol、one_hot_service、one_hot_flag 按列方向(axis=1)拼接起来,并将结果与另一个 DataFrame 对象 data 按列方向拼接起来,得到一个新的 DataFrame 对象。 具体来说,假设 one_hot_protocol、one_hot_service、one_hot_flag 的列数分别为 n1、n2、n3,data 的列数为 m,则拼接后的新 DataFrame 对象的列数为 n1 + n2 + n3 + m。 需要注意的是,拼接时要求各个 DataFrame 对象的行数必须相同,否则会出现错误。 ### 回答2: 这段代码是使用`pd.concat`函数将`one_hot_protocol`, `one_hot_service`, `one_hot_flag`三个DataFrame对象以列的方式拼接到`data` DataFrame对象的右侧。 `pd.concat`是pandas库中的一个函数,它用于在指定的轴上连接两个或多个对象。在这段代码中,`axis=1`表示按列进行连接。 通过将`one_hot_protocol`, `one_hot_service`, `one_hot_flag`和`data` DataFrame对象按列连接到一起,可以将它们合并成一个新的DataFrame对象。这样可以构建一个包含更多特征的完整数据集,以便进行后续的数据分析或建模工作。 拼接后的DataFrame对象将包含`one_hot_protocol`, `one_hot_service`, `one_hot_flag`三个DataFrame对象中的所有列,以及`data` DataFrame对象中的所有列。它们将按照在`concat`函数中指定的顺序进行拼接。 需要注意的是,拼接的两个DataFrame对象在连接轴上的索引需要是一致的,否则可能会导致错误。如果列名称存在冲突,会自动在列名后面添加后缀以区分。 总之,这段代码的作用是将`one_hot_protocol`, `one_hot_service`, `one_hot_flag`三个DataFrame对象按列拼接到`data` DataFrame对象的右侧,构建一个新的包含扩展特征的完整数据集。 ### 回答3: 这段代码使用了Python的pandas库中的concat函数将四个数据集(即one_hot_protocol、one_hot_service、one_hot_flag和data)按列连接起来。其中,axis=1参数表示按列连接。 通过执行这段代码,我们可以将这四个数据集的列按顺序合并到一个新的数据集中,新数据集的列数将比原来的data数据集多出三个one_hot_protocol、one_hot_service和one_hot_flag的列。 数据集的合并可以通过pd.concat函数实现,其中pd代表pandas库。 这种数据集的合并可以用在多个场景中,例如将多个相对独立的数据集进行连接,使得我们可以在一个数据集中综合考虑多个特征的影响。具体来说,这段代码的作用就是将这四个数据集按列连接起来,使得我们可以在新的数据集中同时考虑协议、服务和标志等特征在数据分析和建模中的影响。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值