2
dtypes在第一个轴上移动时会变乱(列)
考虑数据框 df df = pd.DataFrame(dict(A=[1, 2], B=['X', 'Y'])) df A B 0 1 X 1 2 Y 如果我前进axis=0(默认) df.shift() A B 0 NaN NaN 1 1.0 X 它按预期将所有行向下推一行。 但是当我前进时 axis=1 df.shift(axis=1) A B 0 NaN NaN 1 NaN NaN 一切都为零 A B 0 NaN 1 1 NaN 2 我知道为什么会这样。对于axis=0,Pandas逐列进行操作,其中每一列都是单个的,dtype并且在移动时,对于如何NaN在开始或结束时处理引入的值有明确的协议。但是,当axis=1我们继续前进时,我们会引入dtype从一列到另一列的潜在歧义。在这种情况下,我尝试将力int64插入object列中,而Pandas决定只将这些值设为空。 当dtypesare …