What is the meaning of “axis” attribute in a Pandas DataFrame?

前端 未结 5 1924
遇见更好的自我
遇见更好的自我 2021-02-04 02:28

Taking the following example:

>>> df1 = pd.DataFrame({\"x\":[1, 2, 3, 4, 5], 
                        \"y\":[3, 4, 5, 6, 7]}, 
                      ind         


        
5条回答
  •  广开言路
    2021-02-04 03:24

    Data:

    In [55]: df1
    Out[55]:
       x  y
    a  1  3
    b  2  4
    c  3  5
    d  4  6
    e  5  7
    
    In [56]: df2
    Out[56]:
       y  z
    b  1  9
    c  3  8
    d  5  7
    e  7  6
    f  9  5
    

    Concatenated horizontally (axis=1), using index elements found in both DFs (aligned by indexes for joining):

    In [57]: pd.concat([df1, df2], join='inner', axis=1)
    Out[57]:
       x  y  y  z
    b  2  4  1  9
    c  3  5  3  8
    d  4  6  5  7
    e  5  7  7  6
    

    Concatenated vertically (DEFAULT: axis=0), using columns found in both DFs:

    In [58]: pd.concat([df1, df2], join='inner')
    Out[58]:
       y
    a  3
    b  4
    c  5
    d  6
    e  7
    b  1
    c  3
    d  5
    e  7
    f  9
    

    If you don't use the inner join method - you will have it this way:

    In [62]: pd.concat([df1, df2])
    Out[62]:
         x  y    z
    a  1.0  3  NaN
    b  2.0  4  NaN
    c  3.0  5  NaN
    d  4.0  6  NaN
    e  5.0  7  NaN
    b  NaN  1  9.0
    c  NaN  3  8.0
    d  NaN  5  7.0
    e  NaN  7  6.0
    f  NaN  9  5.0
    
    In [63]: pd.concat([df1, df2], axis=1)
    Out[63]:
         x    y    y    z
    a  1.0  3.0  NaN  NaN
    b  2.0  4.0  1.0  9.0
    c  3.0  5.0  3.0  8.0
    d  4.0  6.0  5.0  7.0
    e  5.0  7.0  7.0  6.0
    f  NaN  NaN  9.0  5.0
    

提交回复
热议问题