相关疑难解决方法(0)

如何一次性将 df 列值映射到十六进制颜色?

我有一个包含两列的熊猫数据框。列值之一需要映射到十六进制颜色。另一个绘图过程从那里接管。

这是我到目前为止所尝试的。部分玩具代码取自此处

import pandas as pd
import matplotlib
import matplotlib.pyplot as plt

import seaborn as sns

# Create dataframe
df = pd.DataFrame(np.random.randint(0,21,size=(7, 2)), columns=['some_value', 'another_value'])
# Add a nan to handle realworld
df.iloc[-1] = np.nan 

# Try to map values to colors in hex
# # Taken from here 
norm = matplotlib.colors.Normalize(vmin=0, vmax=21, clip=True)
mapper = plt.cm.ScalarMappable(norm=norm, cmap=plt.cm.viridis)

df['some_value_color'] = df['some_value'].apply(lambda x: mapper.to_rgba(x))
df
Run Code Online (Sandbox Code Playgroud)

哪些输出:

在此处输入图片说明

如何'some_value' 一次性将df 列值转换为十六进制?理想情况下使用sns.cubehelix_palette(light=1)

我不反对使用除 matplotlib

提前致谢。

colors matplotlib python-3.x pandas

4
推荐指数
1
解决办法
2069
查看次数

标签 统计

colors ×1

matplotlib ×1

pandas ×1

python-3.x ×1