Удалить столбцы в пределах диапазона столбцов Pandas Dataframe, где сумма каждого столбца меньше 10 - PullRequest
1 голос
/ 05 июня 2019

Мне нужно перебрать предварительно заданный диапазон столбцов и удалить / удалить столбец, если общая сумма строк в этом столбце меньше 10, но я не могу заставить его работать.До сих пор я пробовал следующее с различной итерацией:

for column in FinalData.columns[109:]:
    if FinalData[column].sum < 10:
        FinalData[column].drop

Фрейм данных FinalData содержит 300 столбцов данных, я хочу применить только к столбцам 109 и далее.Запуск приведенного выше кода приводит к ошибке:

TypeError: '<' not supported between instances of 'method' and 'int'

Я довольно новичок в Python и использую его только для анализа данных, любая помощь будет приветствоваться.

1 Ответ

1 голос
/ 05 июня 2019

Вы получаете ошибку, потому что один из столбцов содержит нечисловые данные.Если вы хотите, чтобы код выполнялся без ошибок (т. Е. Удалялись только числовые столбцы с суммой> 10), вы можете использовать:

from pandas.api.types import is_numeric_dtype

for column in FinalData.columns[109:]:
    if is_numeric_dtype(FinalData[column]):
        if sum(FinalData[column]) < 10:
           FinalData.drop([column], axis=1, inplace=True)
...