如果我用一列创建一个数据帧
a = pd.DataFrame({'x': [np.array([1,2,3,4]), np.array([1,2,3])]})
然后重新分配第一行的值
a.loc[0, 'x'] = a.loc[0, 'x']
a.loc[0, 'x']
不变。一切都很好!你知道吗
但是,如果我添加第二列
a = pd.DataFrame({'x': [np.array([1,2,3,4]), np.array([1,2,3])], 'y':[1,2]})
然后a.loc[0, 'x'] = a.loc[0, 'x']
抛出错误:
ValueError: Must have equal len keys and value when setting with an iterable
有人能解释一下我做错了什么吗?我找到了一个解决办法here:即用set_value
代替loc,但我想知道为什么loc
不起作用。你知道吗
另外,这是熊猫数据帧的适当用法吗?我有一堆向量x
,我想与一些其他变量和索引相关联,而数据帧似乎是存储它们并对它们运行操作的最佳方式(df.apply
在这些数组上执行批量操作效果非常好!)。你知道吗
您可以使用设置值:
相关问题 更多 >
编程相关推荐