如果该列的总行总和值小于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很陌生,仅将其用于数据分析,欢迎任何帮助。
答案 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)