首页 > pandas中axis的疑惑?

pandas中axis的疑惑?

In [68]: frame
Out[68]:
          b     d     e
utah    0.0   1.0   2.0
ohio    3.0   4.0   5.0
texas   6.0   7.0   8.0
oregon  9.0  10.0  11.0

In [69]: series3
Out[69]:
utah       1.0
ohio       4.0
texas      7.0
oregon    10.0
Name: d, dtype: float64


In [70]: frame.sub(series3,axis=0)
Out[70]:
          b    d    e
utah   -1.0  0.0  1.0
ohio   -1.0  0.0  1.0
texas  -1.0  0.0  1.0
oregon -1.0  0.0  1.0

In [71]: frame.sub(series3,axis=1)
Out[71]:
         b   d   e  ohio  oregon  texas  utah
utah   NaN NaN NaN   NaN     NaN    NaN   NaN
ohio   NaN NaN NaN   NaN     NaN    NaN   NaN
texas  NaN NaN NaN   NaN     NaN    NaN   NaN
oregon NaN NaN NaN   NaN     NaN    NaN   NaN

frame.sub(series3,axis=0)
frame.sub(series3,axis=1)
这两个是怎么个对应元素相减,而导致最后结果不同的?

In [72]: frame.add(frame,axis=1)
Out[72]:
           b     d     e
utah     0.0   2.0   4.0
ohio     6.0   8.0  10.0
texas   12.0  14.0  16.0
oregon  18.0  20.0  22.0

In [73]: frame.add(frame,axis=0)
Out[73]:
           b     d     e
utah     0.0   2.0   4.0
ohio     6.0   8.0  10.0
texas   12.0  14.0  16.0
oregon  18.0  20.0  22.0

这个时候为什么axis=0 和 axis=1 又没有区别呢


axis=0和1分别的表格的纵轴和横轴
sub和add方法都要会根据两个frame的index和column相加减
你举的add例子是两个相同的frame相加,结果当然一样了

【热门文章】
【热门文章】