将字符串系列转换为数字一

时间:2018-11-19 14:24:05

标签: pandas

我在做

X = data['x'].apply(lambda h: [int(h[i:i + 2], 16) for i in (0, 2 ,4)])

x有十六进制颜色的字符串,我想将它们映射到RGB数组(每个3个值)。之后,X具有dtype='object,而X.values是一个numpy数组的numpy数组。

我的最终目标是使它成为3 * n的numpy数组,并将其与sklearn.cluster.KMeans一起使用。实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

创建X后,您可以将数据分成3列

X = data['x'].apply(lambda h: [int(h[i:i + 2], 16) for i in (0, 2 ,4)])
data[['R','G','B']] = pd.DataFrame(X.values.tolist(), index=X.index)

这样

data[['R','G','B']]

将结果分为三列以供进一步处理