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 csv file as input
>>> import Topsis_Ishav_101903773 as t
>>> inputFile = "input.csv"
>>> weights = "1,1,1,2,1"
>>> impacts = "+,+,-,+,+"
>>> result_df = t.topsis(inputFile, weights, impacts)
Method 2: By passing pandas dataframe as input
>>> import Topsis_Ishav_101903773 as t
>>> import pandas as pd
>>> dataFrame = pd.read_csv("input.csv)
>>> weights = "1,1,1,2,1"
>>> impacts = "+,+,-,+,+"
>>> result_df = t.topsis(dataFrame, weights, impacts)
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-0.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48774f844314a75f38807f8b4e4a7709b1e011fdcf182371f7ec4c97f304e42d |
|
MD5 | b6a8daef74f82e4499e01a0d62fe1ecf |
|
BLAKE2b-256 | 22918f64ea77d45bb2af2c5f8264135deefd6aad6072adb857d77ef6bb3c56db |