0

我正在处理 2 个 csv 文件。

在绩效文件中:我有关于贷款绩效的历史数据(即第 1 个月到第 7 个月的贷款 110 绩效,然后从第 1 个月到第 20 个月的贷款 111 绩效)。在第一个文件中,我有如下列:A = 贷款 ID,B = 绩效月份(1 到 7),C=默认金额。对于每个 loanid,每个月有 1 行的性能。

我正在尝试创建一个循环,该循环为我提供每笔贷款有默认值的第一个月,并将月份和默认金额复制到我的第二个 csv 文件中,该文件包含每个loanid 的描述性数据。这个想法是在第二个文件和每个loanid 上添加2列,以检索它们第一次具有默认值的月份。

我正在研究 jupyter notebook,到目前为止,我已经导入了 pandas 库并阅读了性能 csv 文件。

任何指导将不胜感激。

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

1 回答 1

0

首先,我不能发表评论,因为我没有足够的声誉。我需要对这个问题进行更多澄清。你能展示一下数据的样子吗?在 100、101 和 1-7 或 1-20 之间,我有点困惑。

根据我目前的理解,我将首先从第一个 CSV 中删除非默认值。由于您使用的是 Pandas,因此您可以通过 Loc。语法通常如下所示。

df = df[df[cols] > 0]

如果它们是重复的,则保留最新月份或当前月份取决于您的选择。Pandas 支持删除重复并可以选择保留第一个或最后一个记录。语法通常如下所示。

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

更多文档请参考:Pandas - Drop Duplicates

最后,您需要根据贷款 ID 对两个数据框执行联接。语法通常如下所示。

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

更多文档请参考:Pandas - Merge

于 2020-04-12T16:17:24.660 回答