条件列中的空列表



我从数据帧中得到列,我要做的是,如果列不是空的,这样做…如果是空的,那么就这样做…但是我收到错误:ValueError:具有多个元素的数组的真值是不明确的。使用a.a any()或a.a all()通过使用以下代码:

sw_col = df_sw.columns
if sw_col.notnull():
miss = (sw_col) - (df.columns)
print(miss)
else:
df_sw = pd.concat([df, df_sw], ignore_index=True)

我很感激你们的帮助:)

关于您得到的错误,这是因为sw_col.notnull()返回一个布尔值数组,python无法决定应该考虑执行哪个元素。

==========================================

(1)当你说列是空的,你的意思是数据框是空的吗?因为,列返回列的name。如果是这种情况,那么您可以使用df.empty来检查。

(2)如果不是这样,并且您试图查看列是否有名称,我认为您的方法没有帮助,因为df。当列没有名称时,columns返回RangeIndex类型对象。因此,您可以使用isinstance(sw_col, pd.RangeIndex)来查看数据框的列是否有名称。如果返回True,则表示列没有预定义的名称。

(3)如果您试图在数据框中搜索空列(没有元素的列),那么您可以应用df.notnull(),并且如果数据框中存在每个元素,它将返回True。因此,要找到完全空的列,甚至没有一个元素,您可以在每个列上使用a.a any()。

最新更新