我一直在努力解决一个问题,但是不知道为什么一直找不到解决方案。
我创建了一个已经填充了值的pandas数据帧,假设它的尺寸为(4,3)。
df=
A B C
0 valX valX valX
1 valY valY valY
2 valZ valZ valZ
3 valW valW valW
我现在想要做的是添加十个附加列,每一列都包含一个由38个零填充的numpy数组。
当我将我的数组转换为字符串并将其添加到原始df时,我的解决方案似乎有效。
然而,Pandas不接受普通的numpy数组。我需要列的值是一个numpy数组,因为我稍后会对它们进行一些sklearn计算。
在我的代码中稍后,我用某些字符的单热编码替换某些列。其余的列则作为零填充。
以下是我的代码示例(适用于添加10列):
#create empty array
x = np.zeros(38)
for i in range(0, 10):
col_name = "char_" + str(i)
df[col_name] = str(x)
问题在于我需要将x转换为字符串。如果我保持它作为numpy数组,它将抛出以下错误:
ValueError: Length of values does not match length of index
df[col_name] = x.astype(str)
吗? - jezrael