我有一个pandas数据框和一个具有一个维度的numpy nd数组。实际上它是一个列表。
如何使用数组中的值向DataFrame添加新列?
test['preds'] = preds
提供SettingWithCopyWarning
还有一个警告:
正在尝试在DataFrame的切片副本上设置值。 尝试使用.loc [row_indexer,col_indexer] = value而不是
当我尝试pd.DataFrame({test,preds})
时,我得到TypeError: unhashable type: 'list'
答案 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})