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


Python dask.dataframe.DataFrame.align用法及代码示例


用法:

DataFrame.align(other, join='outer', axis=None, fill_value=None)

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

此文档字符串是从 pandas.core.frame.DataFrame.align 复制而来的。

可能存在与 Dask 版本的一些不一致之处。

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

参数

otherDataFrame或Series
join{‘outer’, ‘inner’, ‘left’, ‘right’},默认 ‘outer’
axis其他对象的允许轴,默认无

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

levelint 或级别名称,默认无(Dask 中不支持)

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

copybool,默认 True(Dask 中不支持)

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

fill_value标量,默认 np.NaN

用于缺失值的值。默认为 NaN,但可以是任何 “compatible” 值。

method{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None},默认无(Dask 不支持)

用于填充重新索引系列中的孔的方法:

  • pad /ffill:将最后一个有效观察值向前传播到下一个有效值。
  • backfill /bfill:使用 NEXT 有效观察来填补空白。
limitint,默认无(在 Dask 中不支持)

如果指定了方法,则这是向前/向后填充的连续 NaN 值的最大数量。换句话说,如果有超过这个数量的连续 NaN 的间隙,它只会被部分填充。如果未指定方法,则这是沿整个轴将填充 NaN 的最大条目数。如果不是无,则必须大于 0。

fill_axis{0 或 ‘index’,1 或 ‘columns’},默认 0(Dask 中不支持)

填充轴、方法和极限。

broadcast_axis{0 或 ‘index’、1 或 ‘columns’},默认无(Dask 中不支持)

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

返回

(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

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.dataframe.DataFrame.align。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。