Преобразование DataFrame из числового в строку с отображением - PullRequest
0 голосов
/ 04 марта 2019

Преобразование Dataframe из строки в число (как идентификаторы) с отображением, чтобы я мог отобразить числовые значения обратно в строку после моей работы по машинному обучению (которая требует числовых значений для обучения)

У меня есть 2 столбца в моемфрейм данных: -

  1. Repository Name (строка, которую необходимо преобразовать)
  2. Number of Stars (числовое значение, следовательно, ничего не нужно делать)

Я хочу преобразовать строку в качестве идентификаторов, и мне нужно сопоставить их, чтобы использовать ее в будущем.

Примечание. Мои строки - это слова типа freecodecamp, а не целочисленные значения в строках.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019
def get_metadata(df, key, val):
    #create a new column with index 
    df['index'] = df.index
    if key == "Repository Name":
        return {str(row[key]): row[val] for _, row in df.iterrows()}
    else:
        return {row[key]: row[val] for _, row in df.iterrows()}

emb2idx = get_metadata(dataframe, "index", "Repository Name")

Вы получите словарь индекса (ID) и вашу строку (имя репозитория) для отображения в будущем.

0 голосов
/ 04 марта 2019

Вы можете сделать эти преобразования в Python, используя ord().Например, чтобы преобразовать name в коды символов ASCII, вы можете использовать следующий цикл:

name = "John"
nameascii = []

for c in name:
    nameascii.append(ord(c))

print(nameascii)

Чтобы преобразовать обратно в символ, используйте char().

Однако,Если ваша модель была построена с использованием тензорного потока, функция tf.string_to_number, вероятно, лучше (и быстрее), потому что преобразования могут выполняться одновременно, тогда как вышеуказанный цикл будет выполняться последовательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...