删除每列总和小于10的Pandas Dataframe列范围内的列

时间:2019-06-05 15:49:01

标签: python python-3.x pandas for-loop calculated-columns

如果该列的总行总和值小于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 个答案:

答案 0 :(得分:1)

您会收到错误消息,因为其中一列包含非数字数据。如果您希望代码运行时没有错误(即仅删除总和> 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)