当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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

使用指定的连接方法将两个对象在其轴上对齐。

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

参数

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’},默认 0

填充轴、方法和极限。

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

如果对齐两个不同尺寸的对象,则沿此轴广播值。

返回

(left, right)(系列,其他类型)

对齐的对象。

例子

>>> 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.Series.align。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。