我正在处理2个csv文件。
在效果文件中:我具有贷款表现的历史数据(即从第1个月到第7个月的贷款110表现,然后从第1个月到第20个月的贷款111表现)。在第一个文件中,我的列如下:A =贷款id,B =表现月份(1到7),C =默认值。对于每个借位,每个月都有1行的业绩。
我正在尝试创建一个循环,让我获得每笔贷款有违约的第一个月,然后将月份和违约金额复制到我的第二个csv文件中,该文件中包含有关每个借贷ID的描述性数据。想法是在第二个文件上添加2列,并为每个借贷编号检索第一个具有默认值的月份。
我正在研究jupyter笔记本,到目前为止,我已经导入了pandas库并读取了性能csv文件。
任何指导将不胜感激。
import pandas as pd
data = pd.read_csv(r'c:\users\guest1\documents\python_example_performance.csv',delimiter=',')
data.head()
答案 0 :(得分:0)
首先,我没有评论,因为我没有足够的声誉。我需要在这个问题上做更多的澄清。您能显示数据的样子吗?在100、101和1-7或1-20之间,这让我有些困惑。
根据我目前的理解,我将首先从第一个CSV中删除非默认值。 由于您使用的是熊猫,因此可以遍历Loc。 语法通常如下所示。
df = df[df[cols] > 0]
如果它们重复,则保留最后一个月或当前月取决于您的选择。熊猫支持删除重复项,并可以选择保留第一条或最后一条记录。语法通常如下所示。
df = df.drop_duplicates(subset ="Col1", keep = 'last')
有关更多文档,请参阅:Pandas - Drop Duplicates
最后,您需要基于贷款ID对两个数据框执行联接。语法通常如下所示。
df = pd.merge(df1, df2, how='left', on=['LoanID'])
有关更多文档,请参阅:Pandas - Merge