найти столбцы в Dataframe, где каждая строка имеет значение [duplicate]

1

как я могу найти столбцы, которые имеют значение в каждой строке. Мой pd.DataFrame выглядит так:

     A    B    C    D
1    1    2    3    2
2    2    2         1
3         3    2    1

я хотел бы получить этот вывод

     B    D
1    2    2
2    2    1
3    3    1

как я могу определить правильные столбцы?

Спасибо, R

  • 0
    Я пометил это как дубликат вопроса о столбцах, содержащих любое нулевое значение. Вам просто нужно использовать отрицание этого, то есть оператор ~ .
Теги:
pandas

1 ответ

2
Лучший ответ

Использовать, если значения отсутствуют:

df1 = df.loc[:, df.notna().all()]
#oldier pandas versions
#df1 = df.loc[:, df.notnull().all()]

print (df1)
   B  D
1  2  2
2  2  1
3  3  1

Объяснение:

Сравните отсутствующие значения от notna:

print (df.notna())
       A     B      C     D
1   True  True   True  True
2   True  True  False  True
3  False  True   True  True

Проверьте, являются ли все значения в столбцах " True " DataFrame.all:

print (df.notna().all())
A    False
B     True
C    False
D     True
dtype: bool

Если никакие значения не являются пустыми строками, сравните DataFrame.ne (!=):

df = df.loc[:, df.ne('').all()]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню