У меня есть две панды Dataframes, первая с именем source, в которой у нас есть ID и имена (ID, имя пользователя) source.head()
Второй называется data_code, в котором у нас также есть столбец unsernames (0) и столбец кода, в котором я постараюсь получить идентификаторы.
data_code.head()
То, что я сделал, - это создание функции, которая будет искать одинаковые имена пользователей в двух Dataframes и получать идентификатор имени пользователя из источникаКадр данных, если он не существует, генерирует случайный идентификатор.В своем решении я попытался создать словарь, в котором у меня будут только уникальные значения.
uniqueIDs = data_code[0].unique()
FofToID= {}
Затем я заполню словарь Id, используя эту функцию
for i in range(len(uniqueIDs)):
if uniqueIDs[i] in list(source["username"]):
FofToID[uniqueIDs[i]]= np.float_(source[source["username"]==i]["id"])
else:
FofToID[uniqueIDs[i]]= int(random.random()*10000000)
, вывод былкак показано ниже: Моя проблема в том, что все значения, существующие в кадре данных source
, получают значение Series ([], Name: id, dtype: float64).Я пытался решить эту проблему, но мне не удалось.