Удалить столбцы из DataFrame на основе их типов данных - PullRequest
2 голосов
/ 26 сентября 2019

Как я могу отбросить столбцы из DataFrame элегантно , где критерием является удаление всех столбцов определенного типа данных.

Я использовал два подхода

for i in df.columns:
    if(df[i].dtype)!='int64':
        df.drop(columns=i, inplace=True)

Проблема - Это не самый лучший из подходов, плюс он не отображает и не отображает данные до или без использования inplace=True, что вовсе не является хорошим мышлением

df.select_dtypes(include='int64').head()

Второй подход заключается в использовании этого, но он не пропускает столбцы.

Есть предложения по третьему подходу?

1 Ответ

2 голосов
/ 26 сентября 2019

Используйте параметр exclude в DataFrame.select_dtypes:

df = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4,5,4,5,5,4],
         'C':[7,8,9,4,2,3],
         'D':[1.3,3,5,7,1,0],

})

print (df.dtypes)
A     object
B      int64
C      int64
D    float64
dtype: object

print (df.select_dtypes(exclude='int64'))
   A    D
0  a  1.3
1  b  3.0
2  c  5.0
3  d  7.0
4  e  1.0
5  f  0.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...