gpt4 book ai didi

python - 从 Pandas 中的红色列、绿色列和蓝色列创建十六进制列

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:42 25 4
gpt4 key购买 nike

我有一个包含 16,777,216 行的 pandas 数据框。这是介于 0 和 255 之间的三列(红色、绿色和蓝色)的所有可能组合。

我想在此数据框中添加一列,该列是该行三个值的十六进制代码。我认为像下面这样的东西是最好的解决方案:

df["Hex"] = "#{0:02x}{1:02x}{2:02x}".format(df["Red"],df["Green"],df["Blue"])

但是,您似乎无法将系列传递给字符串格式方法。

有没有办法解决这个问题?此外,考虑到数据框相当大,这是否是最有效的方法?

最佳答案

可以使用.apply,例如:

df = pd.DataFrame(np.random.randint(256, size=(10, 3)), columns=['Red', 'Green', 'Blue'])

例如:

   Red  Green  Blue
0 125 100 174
1 107 247 235
2 230 254 33
3 91 107 33
4 209 220 232
5 175 10 47
6 120 66 44
7 21 136 254
8 226 237 32
9 89 57 71

然后:

df.apply('#{Red:02X}{Green:02X}{Blue:02X}'.format_map, axis=1)

给你:

0    #7D64AE
1 #6BF7EB
2 #E6FE21
3 #5B6B21
4 #D1DCE8
5 #AF0A2F
6 #78422C
7 #1588FE
8 #E2ED20
9 #593947
dtype: object

关于python - 从 Pandas 中的红色列、绿色列和蓝色列创建十六进制列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53869644/

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