not_nan_idx = np.where(~np.isnan(rp1)) non_nan_values = rp1.values[not_nan_idx] print(non_nan_values)怎么把non_nan_values全部print出来
时间: 2023-11-12 14:04:20 浏览: 52
你可以使用循环语句将 `non_nan_values` 中的元素逐一打印出来,例如:
```
for value in non_nan_values:
print(value)
```
或者你可以直接使用 `print()` 函数打印整个数组:
```
print(non_nan_values)
```
这样就可以将 `non_nan_values` 中的所有元素打印出来了。
相关问题
y_pred = cnn.predict(X_test) # 假设 y_test 和 y_pred 是 NumPy 数组,包含了测试集标签数据和预测数据 # 检查是否有缺失值 mask = np.logical_or(np.isnan(y_test), np.isnan(y_pred)) # 返回非缺失值的索引 not_nan_idx = np.logical_not(mask).flatten()程序跑到这里报错:numpy.core._exceptions.MemoryError: Unable to allocate 20.5 GiB for an array with shape (148208, 148208) and data type bool
这个错误是由于内存不足导致的。可能是因为你的计算机内存不足以处理这个数组,或者你的程序中存在内存泄漏等问题。
你可以尝试以下方法来解决这个问题:
1. 减少数组的大小,或者使用稀疏矩阵来代替。
2. 优化程序,减少内存使用。例如,在使用完变量后及时释放内存,避免不必要的变量复制或者创建等。
3. 使用更高配置的计算机或者云计算服务,以增加计算机的内存。
对于你的问题,可以尝试使用`np.isnan()`函数来检查缺失值,返回一个布尔型的数组,然后使用`np.logical_not()`函数来获取非缺失值的索引,如下所示:
```python
mask = np.logical_or(np.isnan(y_test), np.isnan(y_pred))
not_nan_idx = np.logical_not(mask).flatten()
y_test = y_test[not_nan_idx]
y_pred = y_pred[not_nan_idx]
```
希望这些方法能够帮助你解决问题。
用python获取数组 a 和 b 中的共同项(索引位置相同,值也相同)。 a = np.array([1,2,3,2,3,4,3,4,5,6]),b = np.array([7,2,10,2,7,4,9,4,9,8])
可以使用numpy的where函数来实现:
```python
import numpy as np
a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
# 找到共同项的索引位置
common_idx = np.where(a == b)[0]
# 找到共同项的值
common_values = a[common_idx]
print(common_idx) # 输出 [1 3 5 7]
print(common_values) # 输出 [2 2 4 4]
```
其中,np.where(a == b) 返回的是一个元组,第一个元素是共同项的索引位置的数组,所以我们需要取出第一个元素。
阅读全文