Существует огромная матрица, элементы которой представляют собой числа в диапазоне от 1 до 15. Я хочу преобразовать матрицу в матрицу, элементы которой состоят из букв, так что 1 становится «a», 2 становится «b» и т. Д.,Наконец, я хочу объединить каждую строку и создать ее последовательность.В качестве простого примера:
import pandas as pd
import numpy as np, numpy.random
numpy.random.seed(1)
A = pd.DataFrame (np.random.randint(1,16,10).reshape(2,5))
A.iloc[1,4]= np.NAN
A
# 0 1 2 3 4
#0 6 12 13 9 10.0
#1 12 6 1 1 NaN
Если бы в наборе данных не было Na, я бы использовал этот код:
pd.DataFrame(list(map(''.join, A.applymap(lambda n: chr(n + 96)).as_matrix())))
Здесь выдается эта ошибка:
TypeError: ('integer argument expected, got float', 'occurred at index 4')
Ожидаемый результат:
0
0 flmij
1 lfaa
В первом ряду должно быть 5 элементов, а во втором - 4 элемента.