如何删除Numpy数组中包含非数字值的列

如何删除Numpy数组中包含非数字值的列

很多时候,我们在NumPy数组中都有一些非数字值。这些值需要被删除,这样数组就没有了这些不必要的值,看起来更体面。使用Bitwise NOT操作符和np.isan()函数,可以删除所有包含Nan值的列。

示例 1:

# Importing Numpy module
import numpy as np
  
# Creating 2X3 2-D Numpy array
n_arr = np.array([[10.5, 22.5, np.nan],
                  [41, 52.5, np.nan]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all columns containing non-numeric elements ")
print(n_arr[:, ~np.isnan(n_arr).any(axis=0)])

输出:

如何删除Numpy数组中包含非数字值的列?

在上面的例子中,我们从2X3的Numpy数组中移除含有非数字值的列。

示例 2:

# Importing Numpy module
import numpy as np
  
# Creating 3X3 2-D Numpy array
n_arr = np.array([[10.5, 22.5, 10.5],
                  [41, 52.5, 25],
                  [100, np.nan, 41]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all columns containing non-numeric elements ")
print(n_arr[:, ~np.isnan(n_arr).any(axis=0)])

输出:

如何删除Numpy数组中包含非数字值的列?

在上面的例子中,我们从3X3的Numpy数组中移除含有非数字值的列。

示例 3:

# Importing Numpy module
import numpy as np
  
# Creating 5X3 2-D Numpy array
n_arr = np.array([[10.5, 22.5, 3.8],
                  [23.45, 50, 78.7],
                  [41, np.nan, np.nan],
                  [20, 50.20, np.nan],
                  [18.8, 50.60, 8.8]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all columns containing non-numeric elements ")
print(n_arr[:, ~np.isnan(n_arr).any(axis=0)])

输出:

如何删除Numpy数组中包含非数字值的列?

在上面的例子中,我们从5X3的Numpy数组中移除含有非数字值的列。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作