2

全部 - 我正在尝试向现有的考拉数据框添加一个新列,但它失败并出现上述错误。我分配的值是一个 np 数组。我错过了什么吗?这适用于熊猫。

import databricks.koalas as ks
from sklearn.datasets import load_iris
iris = load_iris()
df = ks.DataFrame(data=iris.data, columns=iris.feature_names)
# works so far!!

df["target"] = iris.target ## this errors out!

TypeError:列分配不支持类型 ndarray

我在这里错过了什么吗?

谢谢。

4

2 回答 2

2

不幸的是,即使 df.assign 也没有解决问题,我遇到了同样的错误:

我不得不这样做:

ks.reset_option('compute.ops_on_diff_frames')
# convert target to a koalas series so that it can be assigned to the dataframe as a column
ks_series = ks.Series(iris.target)
df["target"] = ks_series
ks.reset_option('compute.ops_on_diff_frames')
于 2020-07-09T19:59:24.693 回答
0

我的错:

我误读了问题的出处和问题。尝试以下操作:

...
df.assign(target=iris.target)

您可以尝试以下方法:

...
df = ks.DataFrame(data=iris.data, columns=list(iris.feature_names))
...

查看load_iris文档,他们没有将返回的数组转换为列表。

于 2020-07-09T18:07:02.923 回答