添加列名称以列出给定条件

时间:2018-10-26 17:05:34

标签: python tuples unsupportedoperation

我正尝试在给定条件的情况下,将数据框的列名(以元组的形式)添加到列表中。条件很简单,如果每列下的数据为1(本身,而不是字符串或浮点数的一部分)。这是我通常使用的方法,并且有效,但仅适用于较小的数据集(按比例放大时,将呈现TypeError - +不支持的操作数类型:“ int”和“ tuple”):

peaks_to_delete = []
for col in df3.columns:   #dataframe is df3
    if sum(df3[col]) == 1:
        peaks_to_delete.append(col)

列名看起来像(125.98617542491242, 14.707909313725589) (332.3316802978516, 14.558341666666749),依此类推...

我理解该错误,但不明白为什么代码可以在较小的数据集而不是较大的数据集上工作。

谢谢!

1 个答案:

答案 0 :(得分:0)

这很可能与您对其运行的列数无关。听起来您在包含一个或多个元组(其余为数字)的最后一列中有一些值。您可以在列上运行一个for循环,以查看哪些不求和

for col in df.columns: 
    try: 
        x=sum(df[col])
    except:
        print(col)