當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.align用法及代碼示例


用法:

DataFrame.align(other, join='outer', axis=None, level=None, copy=True, fill_value=None, method=None, limit=None, fill_axis=0, broadcast_axis=None)

使用指定的連接方法將兩個對象在其軸上對齊。

為每個軸索引指定連接方法。

參數

other DataFrame 或係列
join{‘outer’, ‘inner’, ‘left’, ‘right’},默認 ‘outer’
axis其他對象的允許軸,默認無

對齊索引 (0)、列 (1) 或兩者(無)。

levelint 或級別名稱,默認無

跨級別廣播,匹配傳遞的 MultiIndex 級別上的索引值。

copy布爾值,默認為真

總是返回新對象。如果 copy=False 並且不需要重新索引,則返回原始對象。

fill_value標量,默認 np.NaN

用於缺失值的值。默認為 NaN,但可以是任何 “compatible” 值。

method{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, 無},默認無

用於填充重新索引係列中的孔的方法:

  • pad /ffill:將最後一個有效觀察值向前傳播到下一個有效值。

  • backfill /bfill:使用 NEXT 有效觀察來填補空白。

limit整數,默認無

如果指定了方法,則這是向前/向後填充的連續 NaN 值的最大數量。換句話說,如果有超過這個數量的連續 NaN 的間隙,它隻會被部分填充。如果未指定方法,則這是沿整個軸將填充 NaN 的最大條目數。如果不是無,則必須大於 0。

fill_axis{0 或 ‘index’,1 或 ‘columns’},默認 0

填充軸、方法和極限。

broadcast_axis{0 或 ‘index’,1 或 ‘columns’},默認無

如果對齊兩個不同尺寸的對象,則沿此軸廣播值。

返回

(left, right)(DataFrame,其他類型)

對齊的對象。

例子

>>> df = pd.DataFrame(
...     [[1, 2, 3, 4], [6, 7, 8, 9]], columns=["D", "B", "E", "A"], index=[1, 2]
... )
>>> other = pd.DataFrame(
...     [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],
...     columns=["A", "B", "C", "D"],
...     index=[2, 3, 4],
... )
>>> df
   D  B  E  A
1  1  2  3  4
2  6  7  8  9
>>> other
    A    B    C    D
2   10   20   30   40
3   60   70   80   90
4  600  700  800  900

在列上對齊:

>>> left, right = df.align(other, join="outer", axis=1)
>>> left
   A  B   C  D  E
1  4  2 NaN  1  3
2  9  7 NaN  6  8
>>> right
    A    B    C    D   E
2   10   20   30   40 NaN
3   60   70   80   90 NaN
4  600  700  800  900 NaN

我們還可以在索引上對齊:

>>> left, right = df.align(other, join="outer", axis=0)
>>> left
    D    B    E    A
1  1.0  2.0  3.0  4.0
2  6.0  7.0  8.0  9.0
3  NaN  NaN  NaN  NaN
4  NaN  NaN  NaN  NaN
>>> right
    A      B      C      D
1    NaN    NaN    NaN    NaN
2   10.0   20.0   30.0   40.0
3   60.0   70.0   80.0   90.0
4  600.0  700.0  800.0  900.0

最後,默認的 axis=None 將在索引和列上對齊:

>>> left, right = df.align(other, join="outer", axis=None)
>>> left
     A    B   C    D    E
1  4.0  2.0 NaN  1.0  3.0
2  9.0  7.0 NaN  6.0  8.0
3  NaN  NaN NaN  NaN  NaN
4  NaN  NaN NaN  NaN  NaN
>>> right
       A      B      C      D   E
1    NaN    NaN    NaN    NaN NaN
2   10.0   20.0   30.0   40.0 NaN
3   60.0   70.0   80.0   90.0 NaN
4  600.0  700.0  800.0  900.0 NaN

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.align。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。