После создания X вы можете разбить данные на 3 столбца, например:
X = data['x'].apply(lambda h: [int(h[i:i + 2], 16) for i in (0, 2 ,4)])
data[['R','G','B']] = pd.DataFrame(X.values.tolist(), index=X.index)
, чтобы
data[['R','G','B']]
имел результат в трех столбцах для дальнейшей обработки