本文主要是介绍python列表统计NAN个数【numpy】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- NAN在numpy中为数字类型float64,一开始以为是字符串根本统计不到
- 首先按列读取一个列表文件,统计该列中NAN个数,调试代码如下
arr = np.loadtxt("spec.txt",delimiter=",", unpack=True)
np.savetxt("test.txt", np.isnan(arr[1]), fmt="%d")
nan_count = np.sum(np.isnan(arr[1]))
print(type(arr[1][0]))
print(arr[1])
print(nan_count)
数据类似这样,共有三列
1.90,25.15,127.25
-15.80,41.71,169.90
-74.63,NAN,NAN
- chatgpt4生成代码
- NumPy 提供了几种方法来检查数据中的 NaN 值,如 np.isnan() 函数,它可以返回一个布尔数组,该数组指示哪些元素是 NaN。
import numpy as np# 创建一个包含 NaN 的 NumPy 数组
data = np.array([1.0, 2.0, np.nan, 3.0, 4.0, np.nan])# 使用 np.isnan() 检查哪些元素是 NaN
nan_mask = np.isnan(data)print(nan_mask)
print("NaN values at positions:", np.where(nan_mask))
- 使用字符串统计
import numpy as np# 定义一个包含字符串的列表
my_list = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']# 将列表转换为 NumPy 数组
np_array = np.array(my_list)# 使用 NumPy 的比较运算来找出所有 'apple',然后计算 True 的个数
apple_count = np.sum(np_array == 'apple')# 打印结果
print("The word 'apple' appears", apple_count, "times in the array.")
这段代码首先将列表转换为 NumPy 数组,这是使用 NumPy 处理数据的基础。然后,使用 == 运算符来比较数组中的每个元素是否等于 ‘apple’。这将生成一个布尔数组,其中 True 表示元素是 ‘apple’。最后,使用 np.sum() 函数计算布尔数组中 True 的数量,即为 ‘apple’ 出现的次数。
这篇关于python列表统计NAN个数【numpy】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!