Eliminate Row using Pandas, NumPy – Python

Sathish, an MBA graduate is currently put to a project of Event Management. Soon he started to accept orders and while working on it, he felt it very hard to maintain the records so he decided to purchase a system which helps him to keep track all events and maintain all upcoming and future events.

Eliminate Row using Pandas, NumPy

                                                                                                                           Eliminate Row using Pandas, NumPy - Python

This requirement has come to your company. Assuming yourself in the development team, write a code to build a system to enter the number of events(n) that the dataset accepts followed by n event details one after the other. While updating event if any field among the mentioned is missing delete the entire row details.

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop.html

Note:
Column name in the dataset should be as follows
( ‘Sl No’,’EventName’,’EventManager’,’NoOfDates’,’StartDate’,’EndDate’,’HallName’,’HallAddress’,’HallPricePerDay’,’TotalCost’ )

Input Format:

The First line of the input consists of the number row in the dataset(n).
Next, n lines correspond to the data to be added to the dataset.

Output Format:

The output consists of data in the dataset after dropping the rows which had the missing value in it.
Print “Invalid Input” if the number of records is less than 1.

Sample Input-Output 1:

Enter number records

-2

Invalid Input

Sample Input -Output 2:

Enter number records

8

1 ,Marraige,krishnanand,2,12-08-2005,13-08-2005,krishna mansion,Krishna Mansion  Krishnalaya Shringeri,60000,120000

2 ,Birthday Celebration,Akshay,1,14-08-2005,14-08-2005,Akshayalaya,Akshayalaya  Akshaya Dama Yogendra Nagar Shimoga,35000,35000

3 ,House Warming,sunil,1,21-10-2005,21-10-2005,Sugamya Corner,Sugamya corner  Vijaya nagar Mysore,50000,50000

4 ,Naming Ceremony,Surya,1,10-11-2005,10-11-2005,Suryodaya comforts,Suryodaya comforts Srirampura,20000,

5 ,Promossion Celebration,Aliya,1,15-11-2005,15-11-2005,Kabule convention hall,Kabule convention hall Bangalore,20000,20000

6 ,New Year Celebration,,2,31-12-2005,01-12-2005,Chinnaswammy stadium,Bangalore,,24000

7 ,Chrismas Celebration,Collin,2,24-12-2005,,Saint Philominas chruch,Saint Philominas chruch Mysore,25000,50000

8 ,Project outing,Santhosh,2,29-11-2005,30-11-2005,Mysore Palace Resort,Mysore Palace Resort Mysore,15000,30000

+—+——-+————————+————–+———–+————+————+————————+————————————————–+—————–+———–+

|   | Sl No |       EventName        | EventManager | NoOfDates | StartDate  |  EndDate   |        HallName        |                   HallAddress                    | HallPricePerDay | TotalCost |

+—+——-+————————+————–+———–+————+————+————————+————————————————–+—————–+———–+

| 0 |   1   |        Marraige        | krishnanand  |     2     | 12-08-2005 | 13-08-2005 |    krishna mansion     |      Krishna Mansion  Krishnalaya Shringeri      |      60000      |   120000  |

| 1 |   2   |  Birthday Celebration  |    Akshay    |     1     | 14-08-2005 | 14-08-2005 |      Akshayalaya       | Akshayalaya  Akshaya Dama Yogendra Nagar Shimoga |      35000      |   35000   |

| 2 |   3   |     House Warming      |    sunil     |     1     | 21-10-2005 | 21-10-2005 |     Sugamya Corner     |       Sugamya corner  Vijaya nagar Mysore        |      50000      |   50000   |

| 4 |   5   | Promossion Celebration |    Aliya     |     1     | 15-11-2005 | 15-11-2005 | Kabule convention hall |         Kabule convention hall Bangalore         |      20000      |   20000   |

| 7 |   8   |     Project outing     |   Santhosh   |     2     | 29-11-2005 | 30-11-2005 |  Mysore Palace Resort  |           Mysore Palace Resort Mysore            |      15000      |   30000   |

+—+——-+————————+————–+———–+————+————+————————+————————————————–+—————–+———–+


Additional Sample TestCases

Sample Input and Output 1 :

Enter number records
-2
Invalid Input

Sample Input and Output 2 :

Enter number records
8
1 ,Marraige,krishnanand,2,12-08-2005,13-08-2005,krishna mansion,Krishna Mansion  Krishnalaya Shringeri,60000,120000
2 ,Birthday Celebration,Akshay,1,14-08-2005,14-08-2005,Akshayalaya,Akshayalaya  Akshaya Dama Yogendra Nagar Shimoga,35000,35000
3 ,House Warming,sunil,1,21-10-2005,21-10-2005,Sugamya Corner,Sugamya corner  Vijaya nagar Mysore,50000,50000
4 ,Naming Ceremony,Surya,1,10-11-2005,10-11-2005,Suryodaya comforts,Suryodaya comforts Srirampura,20000,
5 ,Promossion Celebration,Aliya,1,15-11-2005,15-11-2005,Kabule convention hall,Kabule convention hall Bangalore,20000,20000
6 ,New Year Celebration,,2,31-12-2005,01-12-2005,Chinnaswammy stadium,Bangalore,,24000
7 ,Chrismas Celebration,Collin,2,24-12-2005,,Saint Philominas chruch,Saint Philominas chruch Mysore,25000,50000
8 ,Project outing,Santhosh,2,29-11-2005,30-11-2005,Mysore Palace Resort,Mysore Palace Resort Mysore,15000,30000
5 10
+---+-------+------------------------+--------------+-----------+------------+------------+------------------------+--------------------------------------------------+-----------------+-----------+
|   | Sl No |       EventName        | EventManager | NoOfDates | StartDate  |  EndDate   |        HallName        |                   HallAddress                    | HallPricePerDay | TotalCost |
+---+-------+------------------------+--------------+-----------+------------+------------+------------------------+--------------------------------------------------+-----------------+-----------+
| 0 |   1   |        Marraige        | krishnanand  |     2     | 12-08-2005 | 13-08-2005 |    krishna mansion     |      Krishna Mansion  Krishnalaya Shringeri      |      60000      |   120000  |
| 1 |   2   |  Birthday Celebration  |    Akshay    |     1     | 14-08-2005 | 14-08-2005 |      Akshayalaya       | Akshayalaya  Akshaya Dama Yogendra Nagar Shimoga |      35000      |   35000   |
| 2 |   3   |     House Warming      |    sunil     |     1     | 21-10-2005 | 21-10-2005 |     Sugamya Corner     |       Sugamya corner  Vijaya nagar Mysore        |      50000      |   50000   |
| 4 |   5   | Promossion Celebration |    Aliya     |     1     | 15-11-2005 | 15-11-2005 | Kabule convention hall |         Kabule convention hall Bangalore         |      20000      |   20000   |
| 7 |   8   |     Project outing     |   Santhosh   |     2     | 29-11-2005 | 30-11-2005 |  Mysore Palace Resort  |           Mysore Palace Resort Mysore            |      15000      |   30000   |
+---+-------+------------------------+--------------+-----------+------------+------------+------------------------+--------------------------------------------------+-----------------+-----------+

Solution:

import numpy as np
import pandas as pd
from tabulate import tabulate

n = int(input("Enter number records\n"))

df = pd.DataFrame(columns=['Sl No','EventName','EventManager','NoOfDates','StartDate','EndDate','HallName','HallAddress','HallPricePerDay','TotalCost'])

if n < 1:
    print("Invalid Input")
    
else:
    for i in range(n):
        dataset = input()
        dataset = dataset.split(',')
        df.loc[i] = dataset
        
    df = df.replace(r'^\s*$', np.nan, regex=True)
    
    print(tabulate(df[['Sl No', 'EventName', 'EventManager', 'NoOfDates', 'StartDate', 'EndDate','HallName', 'HallAddress', 'HallPricePerDay', 'TotalCost']].dropna(), headers='keys', tablefmt='pretty'))

Happy Learning – If you require any further information, feel free to contact me.

Share your love
Saurav Hathi

Saurav Hathi

I'm currently studying Bachelor of Computer Science at Lovely Professional University in Punjab.

📌 Nodejs and Android 😎
📌 Java

Articles: 444

Leave a Reply

Your email address will not be published. Required fields are marked *