Замените "альфа" и "бета" на греческие символы в именах индексов панды

Я использую sns.clustermap для построения кадра данных из кадра данных panda. Я хочу заменить все экземпляры "альфа" и "бета" строчными латинскими буквами, но я не могу сделать это, как я стараюсь. Я пытался закодировать это в латексе. Вот пример кода:

df = pd.DataFrame(data = [[1, 2], [3, 4]], index = ['5alpha-androstan-3beta,17alpha-diol disulfate', 'hippurate'])
df.index = df.iloc[:,0].index.str.replace('alpha', '$\alpha')
sns.clustermap(df)

Спасибо!

2 ответа

Делать с dict переходя к replace

df.index=df.index.to_series().replace({'alpha':'α',"beta":'β'},regex=True)
df
Out[664]: 
                                    0  1
5α-androstan-3β,17α-diol disulfate  1  2
hippurate                           3  4

Итак, теперь это работает:

df = pd.DataFrame(data = [[1, 2], [3, 4]], index = ['5alpha-androstan-3beta,17alpha-diol disulfate', 'hippurate'])
df.index=df.index.to_series().replace({'alpha':'α',"beta":'β'},regex=True)
df

Но я получаю следующую ошибку из clustermap:

"UnicodeDecodeError: кодек" ascii "не может декодировать байт 0xce в позиции 24: порядковый номер не в диапазоне (128)"

Другие вопросы по тегам