I Love Merge
I Love Merge
# 5
def new_csv():
df_new=df.dropna()
df_new.to_csv("Final-loan-csvfile.csv")
print()
print("new csv file after cleaning the data--- removing NaNs
values")
new_csv=pd.read_csv("D:\\nidhi\\Final-loan-csvfile.csv")
print(new_csv)
There are around 200 rows present in this new csv file.
WHEN THE CHOICE = 6
# 6
def working_data(): new_df=pd.read_csv("D:\\nidhi\\
Final-loan-csvfile.csv")
new_df=new_df.drop("Unnamed: 0",axis=1)
print(new_df)
print("REMOVING THE COLUMN")
print("INDEX OF PREVIOUS CSV FILE, COLUMN NAME:
Unnamed: 0")
print("
")
print()
print(" We will be working on the cleaned data i.e. the data of
the applicants that has all the information required for the
approval on a loan.")
print("This will be done on the basis of credit score")
new_df["Loan approval"]=np.NaN
L_a=[] #loan approval
for index,row in new_df.iterrows():
credit_Score=row["Credit_Score"]
Annual_earing=row["Applicant Income_yearly"]
loan_amount=row["LoanAmount"]
coapplicant=row["Co-applicant_Income_yearly"]
if credit_Score >=740:
if Annual_earing>=(loan_amount*4):
L_a.append("YES")
elif Annual_earing >=(loan_amount*3):
if coapplicant<=(loan_amount):
L_a.append("YES")
elif coapplicant==0:
L_a.append("NO")
else:
L_a.append("NO")
new_df["Loan approval"]=L_a
print("Loan approval")
print(new_df)
approval_counts=new_df["Loan approval"].value_counts()
print(approval_counts)
if choice==1:
print()
autopct='%1.1f%%', legend=True)
plt.ylabel()
plt.show()
print()
WHEN THE CHOICE IN 6 =1
elif
choice==2:
print()
print(gender_approval)
plt.xlabel('Gender')
plt.ylabel('Number of Applicants')
plt.show()
WHEN THE CHOICE IN 6 =2
elif choice==3:
bins = [10, 20, 30, 40, 50, 60, 70, 80, 90]
labels=labels)
approval'], observed=False).size().unstack()
plt.xlabel('Age Group')
plt.ylabel('Number of Applicants')
plt.show()
WHEN THE CHOICE IN 6 =3
# 7
def data_stat():
ndf=pd.read_csv("D:\\nidhi\\Final-loan-csvfile.csv")
ndf=ndf.drop("Unnamed: 0",axis=1)
ndf=ndf.drop("Loan_ID",axis=1)
print("Data of the loan applicants")
print(ndf.describe())
WHEN THE CHOICE = 7
def graphs():
ndf=pd.read_csv("D:\\nidhi\\Final-loan-csvfile.csv")
#ndf= new dataframe from new csv file
print("The above data can be easily compared by the help of
graphs. ")
print("This graphs will tell information of the cleaned csv file
only before the approval of loan.")
print("Graphs:")
print("1)Line Graph representing the top 10 credit score in
compare with age. ")
print("2)Types of loan in pie chart")
print("3)Types of loan in bar chart")
print("4)Credit score chart")
print("5)Men and Women ratio")
print("6)On the basis of educate/non-educate")
inp=int(input("Enter the no. of the type of graph to be
represented:"))
if inp==1:
df1=ndf.sort_values("Credit_Score")
df1=df1.drop("Unnamed: 0",axis=1)
nd=df1.tail(10)
print()
print("HERE ARE THE TOP TEN LOAN APPLICANTS LOAN_ID
WITH THE HIGHEST CREDIT SCORE:")
print() print(nd["Loan_ID"],
["Credit_Score"]) x=nd["Credit_Score"]
y=nd["Age"]
plt.plot(x,y,color="red")
plt.title("PEOPLE ON THE BASIS OF THEIR AGE")
plt.xlabel("Credit Score")
plt.ylabel("Age of the indiviual.")
plt.show()
elif inp==2:
loan_counts = ndf['Loan_Type'].value_counts()
loan_counts.plot(kind='pie', title="Types of Loan Applied by
People",
autopct='%1.1f%%' , legend=False)
plt.ylabel('')
plt.show()
elif inp==3:
loan_counts = ndf['Loan_Type'].value_counts()
loan_counts.plot(kind='bar', title="Types of Loan Applied by
People", legend=True)
plt.ylabel('')
plt.show()
elif inp==4:
credit_scores = ndf["Credit_Score"]
bins = range(300, 901, 50) # Define bins based on the range
of credit scores
credit_scores.hist( bins=bins,color='cyan',edgecolor='black')
plt.title("Credit Score Distribution")
plt.xlabel("Credit Score")
plt.ylabel("Number of People")
plt.xticks(bins) # Set x ticks to match bin edges
plt.grid(True) # Add grid lines on y-axis
plt.show()
elif inp==5:
gender=ndf["Gender"].value_counts()
gender.plot(kind='pie', title="Male and Female ratio",
autopct='%1.1f%%', legend=False)
plt.ylabel('')
plt.show()
elif inp==6:
qualification=ndf["Education"].value_counts()
qualification.plot(kind="bar")
plt.title("On the basis of qualification number of
applicants")
plt.show()
#---------if else function for the functions-------------
ch=int(input("Enter your choice(1-8):---"))
if ch==1:
data_source()
elif ch==2:
data_Fields()
elif ch==3:
data_of_all_applicants()
elif ch==4:
useful_data()
elif ch==5:
new_csv()
elif ch==6:
working_data()
elif ch==7:
data_stat()
elif ch==8:
graphs()
else:
print("run the program again, invalid input")
CONCLUSION:
We have made a loan approval system first by cleaning the
initial csv file using drop function and created a final csv file in
which we had applied condition for loan approval .
We have also analysed the final csv file before the approval
phase on several parameters.
This project mainly serves the aim to help the employees
working in bank to get the analysed data before approval and
the easy conditional method in which the yearly and monthly
salary of applicant and co-applicant is used .
REFRENCES:
Preeti Arora
https://techonespot.com/class12th-cbse
https://www.geeksforgeeks.org/python-introduction-
matplotlib/
TABLE OF CONTENTS [ T O C ]
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
04 PROPOSED SYSTEM 06
07 SOURCE CODE 17
08 OUTPUT 22
09 TESTING 23
11 INSTALLATION PROCEDURE 27
12 BIBLIOGRAPHY 29
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on the encouragement
and guidelines of many others. I take this opportunity to express my gratitude to the people who have
been instrumental in the successful completion of this project.
I express deep sense of gratitude to almighty God for giving me strength for the successful
completion of the project.
I express my heartfelt gratitude to my parents for constant encouragement while carrying out
this project.
I gratefully acknowledge the contribution of the individuals who contributed in bringing this
project up to this level, who continues to look after me despite my flaws,
I express my deep sense of gratitude to the luminary The Principal, DIVINE CHILD HIGH
SCHOOL who has been continuously motivating and extending their helping hand to us.
I express my sincere thanks to the academician The Vice Principal, DIVINE CHILD HOGH
SCHOOL, for constant encouragement and the guidance provided during this project
My sincere thanks to Mr Hardik Kabra Master In-charge, A guide, Mentor all the above a friend,
who critically reviewed my project and helped in solving each and every problem, occurred during
implementation of the project
The guidance and support received from all the members who contributed and who are
contributing to this project, was vital for the success of the project. I am grateful for their constant
support and help.
INTRODUCTION
In today's financial landscape, loans play a crucial role in enabling individuals and businesses to
achieve their goals. A loan approval system is designed to assess and decide whether a loan
applicant qualifies for a loan based on specific criteria. This decision-making process involves
evaluating factors like credit history, income, loan amount, and repayment ability.
For a class 12 Informatics Practices (IP) project, a loan approval system provides an excellent
opportunity to demonstrate data handling, Python programming, and the use of libraries like
Pandas, NumPy, and Matplotlib. By simulating real-world scenarios, such a project highlights
the integration of technology and finance, offering insights into how automated systems make
critical decisions efficiently.
This project not only builds programming skills but also emphasizes the importance of data
analysis and ethical decision-making in the financial sector.
The objective of this project is to let the students apply the programming knowledge into a real-
world situation/problem and exposed the students how programming skills helps in developing a good
software.
Apply object oriented programming principles effectively when developing small to medium sized
projects.
Students will demonstrate a breadth of knowledge in computer science, as exemplified in the areas of
Students will demonstrate ability to conduct a research or applied Computer Science project, requiring
writing and presentation skills which exemplify scholarly style in computer science
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really wants to stand against
today’s merciless competition where not to wise saying “to err is human” no longer valid, it’s out
dated to rationalize your mistake. So, to keep pace with time, to bring about the best result without
malfunctioning and greater efficiency so to replace the unending heaps of flies with a much
One has to use the data management software. Software has been an ascent in atomization
various organisations. Many software products working are now in markets, which have helped in
making the organizations work easier and efficiently. Data management initially had to maintain a lot of
ledgers and a lot of paper work has to be done but now software product on this organization has
made their work faster and easier. Now only this software has to be loaded on the computer and work
can be done.
This prevents a lot of time and money. The work becomes fully automated and any information
regarding the organization can be obtained by clicking the button. Moreover, now it’s an age of
INITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need or an opportunity.
Careful oversight is required to ensure projects support strategic business objectives and
resources are effectively implemented into an organization's enterprise architecture. The initiation
phase begins when an opportunity to add, improve, or correct a system is identified and formally
requested through the presentation of a business case. The business case should, at a minimum,
describe a proposal’s purpose, identify expected benefits, and explain how the proposed system
supports one of the organization’s business strategies. The business case should also identify
alternative solutions and detail as many informational, functional, and network requirements as
possible.
The System Concept Development Phase begins after a business need or opportunity is validated by
the Agency/Organization Program Leadership and the Agency/Organization CIO.
PLANNING PHASE
The planning phase is the most critical step in completing development, acquisition, and
maintenance projects. Careful planning, particularly in the early stages of a project, is necessary to
coordinate activities and manage project risks effectively. The depth and formality of project plans
should be commensurate with the characteristics and risks of a given project. Project plans refine the
information gathered during the initiation phase by further identifying the specific activities and
resources required to complete a project.
A critical part of a project manager’s job is to coordinate discussions between user, audit,
security, design, development, and network personnel to identify and document as many functional,
security, and network requirements as possible. During this phase, a plan is developed that documents
the approach to be used and includes a discussion of methods, tools, tasks, resources, project
schedules, and user input. Personnel assignments, costs, project schedule, and target dates are
established.
A Project Management Plan is created with components related to acquisition planning,
configuration management planning, quality assurance planning, concept of operations, system
security, verification and validation, and systems engineering management planning.
This phase formally defines the detailed functional user requirements using high-level
requirements identified in the Initiation, System Concept, and Planning phases. It also delineates the
requirements in terms of data, system performance, security, and maintainability requirements for the
system. The requirements are defined in this phase to a level of detail sufficient for systems design to
proceed. They need to be measurable, testable, and relate to the business need or opportunity
identified in the Initiation Phase. The requirements that will be used to determine acceptance of the
system are captured in the Test and Evaluation MasterPlan.
Further define and refine the functional and data requirements and document them in the
Requirements Document,
Complete business process reengineering of the functions to be supported (i.e., verify what information
drives the business process, what information is generated, who generates it, where does the
information go, and who processes it),
Develop detailed data and process models (system inputs, outputs, and the process.
Develop the test and evaluation requirements that will be used to determine acceptable system
performance.
DESIGN PHASE
The design phase involves converting the informational, functional, and network requirements
identified during the initiation and planning phases into unified design specifications that developers
use to script programs during the development phase. Program designs are c on structured in various
ways. Using a top-down approach, designers first identify and link major program components and
interfaces, then expand design layouts as they identify and link smaller subsystems and connections.
Using a bottom-up approach, designers first identify and link minor program components and
interfaces, then expand design layouts as they identify and link larger systems and connections.
Contemporary design techniques often use prototyping tools that build mock-up designs of items such
as application screens, database layouts, and system architectures. End users, designers, developers,
database managers, and network administrators should review and refine the prototyped designs in an
iterative process until they agree on an acceptable design. Audit, security, and quality assurance
personnel should be involved in the review and approval process. During this phase, the system is
designed to satisfy the functional requirements identified in the previous phase. Since problems in the
design phase could be very expensive to solve in the later stage of the software development, a
variety of elements are considered in the design to mitigate risk. These include:
DEVELOPMENT PHASE
The development phase involves converting design specifications into executable programs.
Effective development standards include requirements that programmers and other project
participants discuss design specifications before programming begins. The procedures help ensure
programmers clearly understand program designs and functional requirements. Programmers use
various techniques to develop computer programs. The large transaction oriented programs
associated with financial institutions have traditionally been developed using procedural
programming techniques. Procedural programming involves the line-by-line scripting of logical
instructions that are combined to form a program. Effective completion of the previous stages is a
key factor in the success of the Development phase. The Development phase consists of:
Subsystem integration, system, security, and user acceptance testing is conducted during the
integration and test phase. The user, with those responsible for quality assurance, validates that the
functional requirements, as defined in the functional requirements document, are satisfied by the
developed or modified system. OIT Security staff assess the system security and issue a security
certification and accreditation prior to installation/implementation.
Testing at the development facility by the contractor and possibly supported by end users
Testing as a deployed system with end users working together with contract personnel
Operational testing by the end user alone performing all functions. Requirements are traced
throughout testing,a final Independent Verification & Validation evaluation is performed and all
documentation is reviewedand accepted prior to acceptance of the system.
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the user. In this phase,
the system is installed to support the intended business functions. System performance is compared to
performance objectives established during the planning phase. Implementation includes user
notification, user training, installation of hardware, installation of software onto production computers,
and integration of the system into daily work processes. This phase continues until the system is
operating in production in accordance with the defined user requirements.
The system operation is ongoing. The system is monitored for continued performance in
accordance with user requirements and needed system modifications are incorporated. Operations
continue as long as the system can be effectively adapted to respond to the organization’s needs.
When modifications or changes are identified, the system may re-enter the planning phase.
CSV FILE
================================================================
TESTING
TESTING METHODS
Software testing methods are traditionally divided into black box testing and white box testing.
These two approaches are used to describe the point of view that a test engineer takes when
designing test cases.
SPECIFICATION-BASED TESTING
Specification-based testing aims to test the functionality of software according to the applicable
requirements.[16] Thus, the tester inputs data into, and only sees the output from, the test object. This
level of testing usually requires thorough test cases to be provided to the tester, who then can simply
verify that for a given input, the output value (or behaviour), either "is" or "is not" the same as the
expected value specified in the test case. Specification-based testing is necessary, but it is insufficient
to guard against certain risks
The black box tester has no "bonds" with the code, and a tester's perception is very simple: a
code must have bugs. Using the principle, "Ask and you shall receive," black box testers find bugs
where programmers don't. But, on the other hand, black box testing has been said to be "like a walk in
a dark labyrinth without a flashlight," because the tester doesn't know how the software being tested
was actually constructed.
That's why there are situations when (1) a black box tester writes many test cases to check
something that can be tested by only one test case, and/or (2) some parts of the back end are not
tested at all. Therefore, black box testing has the advantage of "an unaffiliated opinion," on the one
hand, and the disadvantage of "blind exploring," on the other.
White box testing, by contrast to black box testing, is when the tester has access to the internal
data structures and algorithms (and the code that implement these)
White box testing methods can also be used to evaluate the completeness of a test suite that
was created with black box testing methods. This allows the software team to examine parts of a
system that are rarely tested and ensures that the most important function points have been tested.
Two common forms of code coverage are:
1. Function Coverage: Which reports on functions executed and
2. Statement Coverage: Which reports on the number of lines executed to complete the test.
They both return coverage metric, measured as a percentage
SOFTWARE REQUIREMENTS:
Windows OS
Python
INSTALLATION PROCEDURE:
LOAN APPROVAL:-
-------------------------------------
Pre-Requisites :-
------------------------
1. You have to have the following software for the successful running of this software; which
are
II) MySQL (Only for the First time), it is downloadable from 'www.mysql.org'.
Installation :-
-------------------
1. There will be two folders namely 'Python Files' and 'EXE files'.
2. The fold er 'Python Files' will contain the source code of the software in python
language. If you are running the software by the 3rd step mentioned below you have to pre
install the following modules :-
I) mysql.connector
II) matplotlib.
3. Open the files in any python editors and run it to start and work on the software.
4. The folder 'EXE files' will contain two files namely 'main.exe' and 'Tables_in_mysql.exe'.
6. Then run the file 'main.exe' to start and work on the software.
CAUTION :-
=========
If you are running the software through running the python files or by running the .exe files ;
first run the file named 'Tables_in_mysql'.
BIBLIOGRAPHY