Metadata-Version: 2.1
Name: Topsis_Bhavya_101903365
Version: 1.0.1
Summary: A Python package implementing TOPSIS technique.
Home-page: UNKNOWN
Author: Bhavya Kakwani
Author-email: bhavyakakwani@gmail.com
License: MIT
Description: # TOPSIS-Python
        
        Submitted By: **Bhavya Kakwani**
        
        ***
        
        ## What is TOPSIS
        
        **T**echnique for **O**rder **P**reference by **S**imilarity to **I**deal
        **S**olution (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](https://en.wikipedia.org/wiki/TOPSIS).
        
        <br>
        
        ## How to use this package:
        
        The Topsis-Bhavya-101903365 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
        ```python
        >>> import Topsis_Bhavya_101903365 as t
        >>> inputFile = "input.csv"
        >>> weights = "1,1,1,2,1"
        >>> impacts = "+,+,-,+,+"
        >>> result_df = t.topsis(inputFile, weights, impacts)
        ```
        <br>
        
        ### Method 2: By passing pandas dataframe as input
        ```python
        >>> import Topsis_Bhavya_101903365 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)
        ```
        
        <br>
        
        ## 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 = "+,+,-,+,+"
        
        <br>
        
        ## 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 
        
        <br>
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
