Функция для хеширования и манипулирования двумя кадрами данных, не прошедшими тестовые прогоны QA - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь решить эту проблему, но не понимаю проблему, учитывая инструкции и критерии успеха следующим образом:

Компания хранит данные для входа в систему и хэши паролей в двух разных контейнерах:

Контейнер 1: DataFrame со столбцами: Id, Login, Verified.
Контейнер 2: двумерный массив NumPy, где каждый элемент представляет собой массив, содержащий: Id и Password.

Элементы в одной строке / index имеют одинаковые идентификаторы.

CHALLENGE : Реализовать функцию login_table, которая принимает эти два контейнера и модифицирует id_name_verified DataFrame на месте, так что:

A. Столбец Verified должен быть удален.
B. Пароль из массива NumPy должен быть добавлен в качестве последнего столбца с именем «Password» в DataFrame.


INPUT EXAMPLE:
id_name_verified = pd.DataFrame([[1, "JohnDoe", True], [2, "AnnFranklin", False]], columns=["Id", "Login", "Verified"])
id_password = np.array([[1, 987340123], [2, 187031122]], np.int32)
login_table(id_name_verified, id_password)
print(id_name_verified)

OUTPUT EXAMPLE:
   Id        Login   Password
0   1      JohnDoe  987340123
1   2  AnnFranklin  187031122

MY CODE:
import pandas as pd
import numpy as np

def login_table(id_password,id_name_verified):
    a_df=pd.DataFrame(id_password)
    a_df.rename(columns={0:'Id',1:'Password'}, inplace=True)
    df_merge=pd.merge(a_df, id_name_verified, on='Id').drop('Verified', 1)
    master_df = df_merge[['Id', 'Login', 'Password']]
    print(master_df)
    pass



id_name_verified = pd.DataFrame([[1, "JohnDoe", True], 
                                 [2, "AnnFranklin", False]], 
                                columns=["Id", "Login", "Verified"])

id_password = np.array([[1, 987340123], 
                        [2, 187031122]], 
                       np.int32)

login_table(id_password,id_name_verified)

Мой код выполняется Хорошо, но это не проходит тест. Я надеюсь, что кто-то может помочь.

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