Skip to main content

A Python package implementing TOPSIS technique by Ishav_101903773.

Project description

TOPSIS-Python

Submitted By: Ishav Gupta


What is TOPSIS

Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) originated in the 1980s as a multi-criteria decision making method. TOPSIS chooses the alternative of shortest Euclidean distance from the ideal solution, and greatest distance from the negative-ideal solution. More details at wikipedia.


How to use this package:

The Topsis-Ishav-101903773 has a function topsis() that takes 4 parameters, i.e., inputFile, weights, impacts, and outputFile, and returns the resulting dataframe having Topsis Score and Rank as additional columns.

Where,

  • inputFile: Can be either csv file or pandas dataframe. Input file must contain three or more columns, where, First column is the object/variable name like M1, M2, M3, M4, etc. Also, from 2nd to last columns must contain numeric values only.
  • weights: In the form of string having numerical values separated by commas.
  • impacts: In the form of string having + or - values separated by commas. Here, + refers to positive impact, whereas, - refers to negative impact.
  • outputFile (optional): csv file in which output of the function will be stored.

For Example,

Method 1: By passing required csv file as output

>>> import Topsis_Ishav_101903773 as ans
>>> inputFile = "input.csv"
>>> weights = "1,1,1,2,1"
>>> impacts = "+,+,-,+,+"
>>> result_df = ans.topsis(inputFile, weights, impacts,"Any_file_name_here.csv")

Method 2: By leaving the last argument blank

>>> import Topsis_Ishav_101903773 as ans
>>> inputFile = "input.csv"
>>> weights = "1,1,1,2,1"
>>> impacts = "+,+,-,+,+"
>>> result_df = ans.topsis(inputFile, weights, impacts)  #the output file will be named as 101903773.csv

Sample Input

Dataset

Fund Name P1 P2 P3 P4 P5
M1 0.65 0.42 3.3 46.3 12.67
M2 0.81 0.66 4.9 51.4 14.44
M3 0.87 0.76 6 65.4 18.26
M4 0.87 0.76 4.2 40.7 11.63
M5 0.75 0.56 6.8 57.5 16.4
M6 0.64 0.41 5.3 44.7 12.76
M7 0.77 0.59 4.7 49.8 13.97
M8 0.7 0.49 3.1 43.9 12.05

Weights

weights = "1,1,1,2,1"

Impacts

impacts = "+,+,-,+,+"


Sample Output

Fund Name P1 P2 P3 P4 P5 Topsis Score Rank
M1 0.65 0.42 3.3 46.3 12.67 0.41202513 7
M2 0.81 0.66 4.9 51.4 14.44 0.510060544 2
M3 0.87 0.76 6 65.4 18.26 0.685105262 1
M4 0.87 0.76 4.2 40.7 11.63 0.433129944 5
M5 0.75 0.56 6.8 57.5 16.4 0.469643489 3
M6 0.64 0.41 5.3 44.7 12.76 0.225789842 8
M7 0.77 0.59 4.7 49.8 13.97 0.451566364 4
M8 0.7 0.49 3.1 43.9 12.05 0.418005937 6

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Topsis_Ishav_101903773-1.0.0.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page