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