解决np.argwhere(df['col1'] % 5==0) 报错: ValueError: Length of values (1) does not match length of index (20)
这个错误是由于 np.argwhere() 函数返回的结果的长度与 DataFrame 的索引长度不匹配导致的。
np.argwhere() 函数返回的是一个二维数组,其中每一行表示一个满足条件的元素的索引。在这个例子中,df['col1'] % 5==0 返回一个布尔数组,表示 df['col1'] 中哪些元素可以被 5 整除。然后,np.argwhere() 函数找到这些元素的索引。
然而,根据错误提示,返回的结果的长度是 1,而 DataFrame 的索引长度是 20,因此长度不匹配,导致错误。
可能的原因是 df['col1'] 中只有一个元素满足条件,因此 np.argwhere() 函数只返回了一个索引。你可以检查一下 df['col1'] 中的数据,看看是否只有一个元素满足条件。
如果你只想获取满足条件的元素的索引,你可以尝试使用 np.where() 函数,它返回的是一个一维数组,其中每个元素表示满足条件的元素的索引。例如:
np.where(df['col1'] % 5==0)
原文地址: https://www.cveoy.top/t/topic/fjUS 著作权归作者所有。请勿转载和采集!