Как исправить индекс в моем фрейме данных pandas, чтобы значение не удерживалось только в нуле, и чтобы оно имело возрастающее значение? - PullRequest
1 голос
/ 10 мая 2019

В настоящее время я работаю над сравнением ключевых точек двух изображений в скрипте Python. Если я запускаю сценарий сравнения cv2, результаты сравнения сохраняются в фрейме данных Pandas. В этом кадре данных индекс сохраняет значение в ноль (0) и не увеличивается после каждого запуска сценария.

Пожалуйста, смотрите ниже результат:

Key_points_1        Key_points_2        Percentage      Result
0   2737    2709    0.84    Fail
0   2737    2709    0.84    Fail
0   2737    3283    25.16   Pass
0   2737    3283    25.16   Pass
# Create pandas dataframe with the data from comparison.

    initial_data = {'Key_points_1': [int(len(kp_1))],
                    'Key_points_2': [int(len(kp_2))],
                    'Percentage': [percentage]}

    df = pd.DataFrame(initial_data, columns=['Key_points_1', 'Key_points_2', 'Percentage'])

    result = []
    for value in df["Percentage"]:
        if value >= 15:
            result.append("Pass")   # Threshold to be defined.
        else:
            result.append("Fail")   # Threshold to be defined.

    df["Result"] = result

    df.to_csv('output/cvs_DataFrame.csv', sep='\t', encoding='utf-8', mode='a', header=False)

Желаемый результат должен быть следующим:

Index   Key_points_1        Key_points_2        Percentage      Result
0        2737                 2709                0.84           Fail
1        2737                 2709                0.84           Fail
2        2737                 3283                25.16          Pass
3        2737                 3283                25.16          Pass

1 Ответ

1 голос
/ 10 мая 2019

Лучше использовать DataFrame.reset_index с numpy.where вместо вашего решения для петли:

df = df.reset_index(drop=True)
df["Result"] = np.where(df["Percentage"] >= 15,"Pass", "Fail")
print (df)
   Key_points_1  Key_points_2  Percentage Result
0          2737          2709        0.84   Fail
1          2737          2709        0.84   Fail
2          2737          3283       25.16   Pass
3          2737          3283       25.16   Pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...