我有以下的代码:
x = pd.DataFrame(np.zeros((4, 1)), columns=['A'])
y = np.random.randn(4, 2)
x['A'] = y
我希望它因形状不匹配而抛出异常,但是pandas默默地接受了这个赋值操作: y
的第一列被分配给x
。
这是一个有意的设计吗?如果是,背后的理由是什么?
我尝试过pandas
0.21和0.23。
感谢那些尝试帮助的人。然而,即使悬赏即将到期,没有人给出令人满意的答案。
让我强调一下预期的回答:
- 这种设计是否有意?它是一个bug吗?还是虚假的设计?
- 设计它的理由是什么?
由于悬赏即将到期,我接受了得票最多的答案。但它并没有回答上述问题。
'A'
已经是一列的特殊情况。例如,x['B'] = y会给出预期的ValueError: Wrong number of items passed 2, placement implies 1
错误提示。 - ALollzpandas
代码库中提出了一个问题,看起来这可能是一个bug。 - Socob