Pandas: dropping all columns with nans, 0, and NA from DataFrame

ccsv

I have a DataFrame that looks like this:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2.1, np.nan, 4.7, 5.6, 6.8],
                'B': [0, np.nan, np.nan, 0, 0, 0],
                'C': [0, 0, 0, 0, 0, 0.0],
                'D': [5, 5, 5, 5, 5.6, 6.8],
                'E': ['NA', 'NA', 'NA', 'NA', 'NA', 'NA'],})

How would I drop all the NA, Nans and 0 in the columns so I would get the following output?

df2 = pd.DataFrame({'A': [1, 2.1, np.nan, 4.7, 5.6, 6.8],
                'D': [5, 5, 5, 5, 5.6, 6.8],})

So far I know .dropna() will get rid of all the nan also I tried df2=df[~(df==0).all(axis=1)] and it did not work.

Roman Pekar
>>> df
     A   B  C    D   E
0  1.0   0  0  5.0  NA
1  2.1 NaN  0  5.0  NA
2  NaN NaN  0  5.0  NA
3  4.7   0  0  5.0  NA
4  5.6   0  0  5.6  NA
5  6.8   0  0  6.8  NA
>>> f = df.replace([0,'NA'], np.nan).apply(lambda x: any(~x.isnull()))
>>> f
A     True
B    False
C    False
D     True
E    False
dtype: bool
>>> df.loc[:,f]
     A    D
0  1.0  5.0
1  2.1  5.0
2  NaN  5.0
3  4.7  5.0
4  5.6  5.6
5  6.8  6.8

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Pandas: dropping all columns with nans, 0, and NA from DataFrame

From Dev

Dropping a number of columns in a pandas DataFrame on one line

From Dev

Pandas dropping columns by index drops all columns with same name

From Dev

How do I subset columns in a pandas dataframe from a list in another frame which includes NaNs?

From Dev

Merging same-indexed rows by taking non-NaNs from all of them in pandas dataframe

From Dev

pandas groupby dropping columns

From Dev

Pandas dataframe grouping by multiple columns and dropping duplicate rows

From Dev

Pandas dataframe grouping by multiple columns and dropping duplicate rows

From Dev

merge 2 columns in pandas dataframe filling the NaNs with the previous value

From Dev

pandas dropping of words in dataframe

From Dev

Rescaling to (0,1) certain columns from Pandas Python dataframe

From Dev

Filling NaNs with values from column of another dataframe by comparing the columns

From Dev

Concatenate all columns in a pandas dataframe

From Java

Dropping rows from pandas dataframe based on value in column(s)

From Dev

Dropping rows from pandas dataframe based on floatpoint range

From Java

Dropping NA(ish?) fields in pandas

From Dev

Pandas - Dropping multiple empty columns

From Dev

Dropping multiple columns in pandas at once

From Dev

Replace NaNs with values from X rows earlier or later in pandas dataframe

From Dev

Pandas subtract each column in dataframe_a from all columns of dataframe_b and write result to third dataframe

From Dev

Combining columns and removing NaNs Pandas

From Dev

Checking for NaNs in many columns in Pandas

From Dev

Sum DataFrame Columns without Dropping Columns

From Dev

Fill na on several columns of a Pandas Dataframe

From Dev

Keeping NaNs with pandas dataframe inequalities

From Dev

Selecting columns from Pandas DataFrame

From Dev

Selecting columns from Pandas DataFrame

From Dev

Pandas DataFrame, How do I remove all columns and rows that sum to 0

From Dev

Pandas DataFrame, How do I remove all columns and rows that sum to 0

Related Related

  1. 1

    Pandas: dropping all columns with nans, 0, and NA from DataFrame

  2. 2

    Dropping a number of columns in a pandas DataFrame on one line

  3. 3

    Pandas dropping columns by index drops all columns with same name

  4. 4

    How do I subset columns in a pandas dataframe from a list in another frame which includes NaNs?

  5. 5

    Merging same-indexed rows by taking non-NaNs from all of them in pandas dataframe

  6. 6

    pandas groupby dropping columns

  7. 7

    Pandas dataframe grouping by multiple columns and dropping duplicate rows

  8. 8

    Pandas dataframe grouping by multiple columns and dropping duplicate rows

  9. 9

    merge 2 columns in pandas dataframe filling the NaNs with the previous value

  10. 10

    pandas dropping of words in dataframe

  11. 11

    Rescaling to (0,1) certain columns from Pandas Python dataframe

  12. 12

    Filling NaNs with values from column of another dataframe by comparing the columns

  13. 13

    Concatenate all columns in a pandas dataframe

  14. 14

    Dropping rows from pandas dataframe based on value in column(s)

  15. 15

    Dropping rows from pandas dataframe based on floatpoint range

  16. 16

    Dropping NA(ish?) fields in pandas

  17. 17

    Pandas - Dropping multiple empty columns

  18. 18

    Dropping multiple columns in pandas at once

  19. 19

    Replace NaNs with values from X rows earlier or later in pandas dataframe

  20. 20

    Pandas subtract each column in dataframe_a from all columns of dataframe_b and write result to third dataframe

  21. 21

    Combining columns and removing NaNs Pandas

  22. 22

    Checking for NaNs in many columns in Pandas

  23. 23

    Sum DataFrame Columns without Dropping Columns

  24. 24

    Fill na on several columns of a Pandas Dataframe

  25. 25

    Keeping NaNs with pandas dataframe inequalities

  26. 26

    Selecting columns from Pandas DataFrame

  27. 27

    Selecting columns from Pandas DataFrame

  28. 28

    Pandas DataFrame, How do I remove all columns and rows that sum to 0

  29. 29

    Pandas DataFrame, How do I remove all columns and rows that sum to 0

HotTag

Archive