Skip to main content

A Python package implementing TOPSIS technique.

Project description

TOPSIS-Python

Submitted By: Sarthak Arora


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-Sarthak-101903774 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_Sarthak_101903774 as s
>>> inputFile = "input.csv"
>>> weights = "1,1,1,2,1"
>>> impacts = "+,+,-,+,+"
>>> result_df = s.topsis(inputFile, 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Topsis_Sarthak_101903774-0.3-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file Topsis_Sarthak_101903774-0.3-py3-none-any.whl.

File metadata

  • Download URL: Topsis_Sarthak_101903774-0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.0

File hashes

Hashes for Topsis_Sarthak_101903774-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5680f5aaa7e303ed63f7f641d0e2281f8bfdd67ce998422c33d0e2b9618e4c68
MD5 33534296bed590aa4ab24edfe39ba1a6
BLAKE2b-256 cff5c71bea486a55c1bd04761fea0795fd7379f3d532732e770ea668035cfe6e

See more details on using hashes here.

Supported by

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