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
Hashes for Topsis_Ishav_101903773-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 470ae8d7a4a61c7d9aafdb2ecc65ac4069a5acb28dc572b24feb86d2dd385bf6 |
|
MD5 | 5833e5d20f4d4358848b9fe9b2ecd565 |
|
BLAKE2b-256 | 5f1d02b401de20e28155ae681e50a40bf6bbbd583dbfe54fa8fbab6adc5cf410 |