у меня есть панд dataframe:Замена строковых элементов панда DataFrame с целыми числами
x_axis y_axis data
0 Cheese farms 4
1 wales Cheese 3
Это может быть сгенерировано с помощью следующего кода:
import pandas
cols=['x_axis','y_axis','data']
row1=['Cheese','farms',4]
row2=['wales','Cheese',3]
data=pandas.DataFrame([row1,row2],columns=cols)
print data
В действительности данных у меня есть намного больше и x
и y axis
являются ярлыками к карте тепла. Поскольку эти метки часто довольно большие, я хочу, чтобы перечислить их и заменить их с индексом (по обеим x
и y axes
т.е. так, если cheese
является 1
в x
также 1
в y axis
). Я также должен иметь возможность написать легенду, которая отображает новые индексы в их исходные значения.
Нужный вывод может выглядеть примерно так:
x_axis y_axis data
0 1 2 4
1 3 1 3
Тогда легенда будет:
cheese=1
farms=2
wales=3
Может кто-нибудь дать мне несколько советов о том, как это сделать программно?
Вы отображение может не быть полностью понятно. Что произойдет, если у вас есть дубликаты, например, дополнительная строка row3 = ['Bread', 'wales', 3]? – tfv
Привет, tfv, поэтому «хлеб» всегда будет 4 (например), а уэльс всегда 5 - независимо от колонки – CiaranWelsh