pandas l oop через фрейм данных для каждого уникального значения в столбце - PullRequest
0 голосов
/ 12 апреля 2020

Я работаю с 2 CSV-файлами.

В файле результатов: у меня есть исторические данные об исполнении ссуд (т. Е. Об эффективности ссуды 110 за период с 1 по 7, затем об эффективности ссуды 111 с 1-го по 20-й месяц) ). В первом файле у меня есть следующие столбцы: A = идентификатор кредита, B = месяц исполнения (от 1 до 7), C = сумма по умолчанию. для каждого заемщика есть 1 строка в месяц исполнения.

Я пытаюсь создать al oop, который дает мне первый месяц, в котором каждый заем имеет значение по умолчанию, и копирует месяц и сумму по умолчанию в мой второй CSV-файл, который содержит описательные данные по каждому заемщику. Идея состоит в том, чтобы добавить 2 столбца во второй файл и для каждого ссуды, чтобы получить месяц, когда они впервые имеют значение по умолчанию.

Я работаю над блокнотом jupyter и до сих пор импортировал pandas Библиотека и читать файл производительности CSV.

Любое руководство будет оценено.

import pandas as pd
data = pd.read_csv(r'c:\users\guest1\documents\python_example_performance.csv',delimiter=',')
data.head()

1 Ответ

0 голосов
/ 12 апреля 2020

Прежде всего, я не могу комментировать, так как у меня недостаточно репутации. Мне нужно больше разъяснений по этому вопросу. Не могли бы вы показать, как выглядят данные? Это немного сбивает с толку меня между 100, 101 и рейтингом 1-7 или 1-20.

Исходя из моего текущего понимания, я бы сначала удалил значение не по умолчанию из первого CSV. Поскольку вы используете Pandas, вы можете go через Lo c. Синтаксис, как правило, выглядит следующим образом.

df = df[df[cols] > 0]

Если они дублируются, оставьте последний месяц или текущий месяц в зависимости от вашего выбора. Pandas Поддержка удаления дубликата и возможность сохранения первой или последней записи. Синтаксис обычно выглядит следующим образом.

df = df.drop_duplicates(subset ="Col1", keep = 'last') 

Для получения дополнительной документации, пожалуйста, обратитесь к: Pandas - Удалить дубликаты

Наконец, вам необходимо выполнить соединение для обоих фреймов данных на основе идентификатора кредита. Синтаксис обычно выглядит следующим образом.

df = pd.merge(df1, df2, how='left', on=['LoanID'])

Для получения дополнительной документации, пожалуйста, обратитесь к: Pandas - Объединить

...