gpt4 book ai didi

python - 值错误 : Columns must be same length as key

转载 作者:行者123 更新时间:2023-11-28 22:16:05 26 4
gpt4 key购买 nike

我在运行下面的代码时遇到问题。

数据是我的数据框。 X 是训练数据的列列表。 L 是具有数值的分类特征列表。

我想对我的分类特征进行一次热编码。所以我做如下。但是会抛出“ValueError:列的长度必须与键的长度相同”(对于最后一行)。经过长时间的研究,我仍然不明白为什么。

def turn_dummy(df, prop):
dummies = pd.get_dummies(df[prop], prefix=prop, sparse=True)
df.drop(prop, axis=1, inplace=True)
return pd.concat([df, dummies], axis=1)

L = ['A', 'B', 'C']

for col in L:
data_final[X] = turn_dummy(data_final[X], col)

最佳答案

看来这是一个维度的问题。它会像下面这样:

假设我有一个像这样的列表:

mylist = [0, 0, 0, 0]

它的长度为 4。如果我想将一个新列表的元素 1:1 映射到那个列表中:


otherlist = ['a', 'b']

for i in range(len(mylist)):
mylist[i] = otherlist[i]

显然这会抛出一个 IndexError,因为它试图获取 otherlist 没有的元素

同样的事情也发生在这里。您正在尝试将 string (len=1) 插入到长度为 n>1 的列中。尝试:

data_final[X] = turn_dummy(data_final[X], L)

假设 len(L) = number_of_rows

关于python - 值错误 : Columns must be same length as key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52428968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com