pandas.Series.align#

Series.align(other, join='outer', axis=None, level=None, copy=True, fill_value=None, method=None, limit=None, fill_axis=0, broadcast_axis=None)[源代码]#

将两个对象的轴向与指定的联接方法对齐。

为每个轴索引指定联接方法。

参数
otherDataFrame或系列
join{‘外’,‘内’,‘左’,‘右’},默认‘外’
axis允许的另一个对象的轴,默认为无

在索引(0)、列(1)或两者(无)上对齐。

levelInt或Level名称,默认为无

跨级别广播,匹配传递的多索引级别上的索引值。

copy布尔值,默认为True

始终返回新对象。如果Copy=False并且不需要重新索引,则返回原始对象。

fill_value标量,默认np.NaN

用于缺少值的值。默认为NaN,但可以是任何“兼容”值。

method{‘BackFill’,‘bFill’,‘Pad’,‘ffill’,None},默认为None

用于填充重新分度系列中的孔洞的方法:

  • 填充/填充:将上一个有效观察向前传播到下一个有效。

  • 回填/b填充:使用下一个有效的观测来填充缺口。

limitInt,默认为无

如果指定了方法,则这是要向前/向后填充的连续NaN值的最大数量。换句话说,如果存在超过此连续NAN数量的缺口,则只会部分填充。如果未指定方法,则这是将填充NAN的整个轴上的最大条目数。如果不是无,则必须大于0。

fill_axis{0或‘index’},默认为0

填充轴、方法和限度。

broadcast_axis{0或‘index’},默认为无

如果对齐两个不同维度的对象,则沿该轴广播值。

退货
(左、右)(系列、其他类型)

对齐对象。

示例

>>> 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