我有一个包含两列的熊猫数据框。列值之一需要映射到十六进制颜色。另一个绘图过程从那里接管。
这是我到目前为止所尝试的。部分玩具代码取自此处。
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
提前致谢。