How do I know whether to remove the column, or rows when dealing with null data?

how to handle missing data machine learning
remove all the rows in the dataset having 5 missing values
data cleaning in python
delete rows with more than 50 percent missing values
delete rows with more than 50 percent missing values pandas
machine learning missing data
data science when to drop columns
how to remove null values in python

Here is the head of my Dataframe. I am trying to remove the NaN values in the column "Type 2", but I am not sure how to decide whether to remove the entire column containing the NaN values, or remove the rows containing the NaN values. How should I decide which method to use to remove the NaN values? Is there a certain threshold to determine whether to remove the rows or the entire column, for datasets in general? My end goal is to run a machine learning algorithm on this dataset to predict whether or not a Pokemon is Legendary. Thank you

#   Name    Type 1  Type 2  Total   HP  Attack  Defense Sp. Atk Sp. Def Speed   Generation  Legendary
2   3   Venusaur    Grass   Poison  525 80  82  83  100 100 80  1   False
3   3   VenusaurMega Venusaur   Grass   Poison  625 80  100 123 122 120 80  1   False
5   5   Charmeleon  Fire    NaN 405 58  64  58  80  65  80  1   False
9   7   Squirtle    Water   NaN 314 44  48  65  50  64  43  1   False
10  8   Wartortle   Water   NaN 405 59  63  80  65  80  58  1   False
15  12  Butterfree  Bug Flying  395 60  45  50  90  80  70  1   False

yes we can decide a threshold for this. if you have NAN values in all columns is best use:

data.dropna(axis=0,inplace=True)

this we drop all hows that contain NAN´s, if you use axis=1 will delete all columns that have NAN values.

One thing that you need think is how much percent of the values in a column is NAN, if more that 70% of NAN values is in only one column and i have no other way to complete this I delete this column. if the NAN values is distributed in the columns is better delete rows.

i hope it helped you.

5 Ways To Handle Missing Values In Machine Learning Datasets, . This method is advised only when there are enough samples in the data set. Re: Delete all the row when there is null in one columns of the table. it is about a 100 rows per worksheet. Re: Delete all the row when there is null in one columns of the table. After you filtered the null values in your table, Power Query will only refresh the remaining rows.

I would restrain from deleting whole rows in this scenario.

When deleting rows you would probably never have a pokemon in your dataset which has NaN as second type.

5   5   Charmeleon  Fire    NaN 405 58  64  58  80  65  80  1   False

In a next step it is easy to think of a legendary Pokemon which does not have a second type. You would never be able to predict such a Pokemon correctly.

You could still delete the column, but you would loose information. Other than deleting I'd rather introduce an undefined_type tag for those NaN values and go from there.

5   5   Charmeleon  Fire    undefined_type 405 58  64  58  80  65  80  1   False

Above those things you should do some feature analysis to find out which features actually do contribute to the information gain (e.g. random forest with elbow method). If the introduction of the undefined_type tag reduces the information gain of that feature, you'll know after this analysis.

Working with Missing Data in Pandas, Which of the following method of pandas is used to check if each value is a null or not? In this case columns 'C' to 'N'. When these columns in a specific row are empty I want to hide the complete row. However, it's important to know the cells will appear empty, but actually they will contain a formula (mostly VLOOKUP's). If no result is returned by this formula the cell will appear empty.

In this case, I think your best bet would be to make the types categorical and have the NaN's in the type column be a category as well. This would make your machine learning model more robust.

How-To Use Python to Remove or Modify Empty Values in a CSV , How do you remove null values from a CSV file in Python? Hi Igor, a quick & dirty-way is to unpivot your columns and then pivot-back. This will remove all columns with null only. But this can get slow for big tables.

Handling null data points | Analyze Data | Documentation, Here, we either delete a particular row if it has a null value for a particular feature and a particular column if it has more than 70-75% of missing  I want to remove duplicate rows in my data.frame according to the gender column in my data set. I know there has been a similar question asked ( here ) but the difference here is that I would like to remove duplicate rows within each subset of the data set, where each subset is defined by an unique id .

Handling Missing Data, For the project I was working on, I could not have any values that were null or empty. a simple Python script to see if your data set has null or empty values, and if so, For more information on other ways to handle missing data with pandas, in (rows, columns) format flights.shape; (Optional) Check for all null values in  Further you can also automatically remove cols and rows depending on which has more null values Here is the code which does this intelligently: df = df.drop(df.columns[df.isna().sum()>len(df.columns)],axis = 1) df = df.dropna(axis = 0).reset_index(drop=True) Note: Above code removes all of your null values. If you want null values, process them

Cleaning Missing Values in a Pandas Dataframe, If there are rows that have no data, or with measure values that are null or Empty – a row, column, or data point is included but the measure value is left  How to detect whether a given column has only the NULL value: SELECT 1 -- no GROUP BY therefore use a literal FROM Locations HAVING COUNT(a) = 0 AND COUNT(*) > 0; The resultset will either consist of zero rows (column a has a non- NULL value) or one row (column a has only the NULL value).

Comments
  • This is not a pandas DataFrame....
  • Depends, the question you need to ask yourself is what you want to do.
  • You can do either and both answer are justified along with many other ways to deal with null data.
  • What if there are multiple columns with null data? Removing the rows for each null value will greatly size down your dataset resulting in a skewed model. Is there a threshold that can adjust for this or no?
  • yes. you can use a algorithm to predict this values. but if a column has low values this can be a problem.
  • About the threshold this is complicated. you need make testes to know how is the best way to use you data. Example: you can delete a column and test the algorithm with the appropriated metrics. you can predict the nan values with a KNN for example and test. don´t exist a general threshold for this.
  • Say I am just formatting this for multiple linear regression. How should I find a threshold
  • first: look in each column and count how much percents of the data are NAN if more that 40%.(delete this column for the first test.)