在pandas.DataFrame中添加np.array作为列

时间:2015-06-28 18:04:54

标签: python arrays numpy pandas

我有一个pandas数据框和一个具有一个维度的numpy nd数组。实际上它是一个列表。

如何使用数组中的值向DataFrame添加新列?

test['preds'] = preds提供SettingWithCopyWarning 还有一个警告:

  

正在尝试在DataFrame的切片副本上设置值。   尝试使用.loc [row_indexer,col_indexer] = value而不是

当我尝试pd.DataFrame({test,preds})时,我得到TypeError: unhashable type: 'list'

2 个答案:

答案 0 :(得分:5)

感谢EdChum,问题是这个

test= DataFrame(test)
test['preds']=preds

有效!

答案 1 :(得分:1)

这不是pandas错误,此错误是因为您尝试使用两个列表实例化一个集合。

{test,preds}
#TypeError: unhashable type: 'list'

一个集合是一个容器,它需要所有内容都是可散列的,因为集合可能不包含两次相同的元素。

话虽如此,将熊猫放一套也不适用于你想要的结果。

然而,将pandas交给dict,就像这样:

pd.DataFrame({"test":test,"preds":preds})