python - 用python计算数据字符串中的nan

标签 python string numpy count nan

我正在尝试计算数据文件中的“nan”。

为此,我使用了两个代码 一个是:

with  open(filin,'r') as f:
    arrays = [map(float, line.split(',')) for line in f]
newa = [x[6] for x in arrays]

另一个是:

for columns in ( raw.strip().split(',') for raw in f ):
      a.append((columns[6])
newa = np.array(a)

当我使用第一种方式时,我得到的错误信息是:

Traceback (most recent call last):
File "Count_nan.py", line 13, in <module>
arrays = [map(float, line.split(',')) for line in f]
ValueError: could not convert string to float: 

用第二个代码,我可以得到数组,但是我不能用代码计算nan

l = np.count_nonzero(np.isnan(newa)) or


v = [len(list(group)) for key, group in groupby(newa, key=np.isnan) if key]

v 是对连续的'nan's 进行计数的代码。

我不能使用上面两个代码的原因是我的 newa 由 ['1', '2.4','nan'...] 组成,而不是 [ 1, 2.4, 南, ...]

任何想法或帮助将不胜感激。

打个招呼,

艾萨克

最佳答案

也许改变这个

newa = np.array(a)

为此:

newa = np.array(a).astype(float)

或者只是:

newa = newa.astype(float)

关于python - 用python计算数据字符串中的nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543187/

相关文章:

python 列表生成/保存错误

Python搜索大列表速度

c++ - 如何将 RapidJSON 文档序列化为字符串?

python - 我怎样才能对每 n 个数组值求和并将结果放入一个新数组中?

python - 将文本文件中的 block 读入二维数组

python - 为 Pandas 中列的子集添加值

python - 如何根据数据框的 NAN 百分比删除列?

c++ - 为什么编译器不能优化 std::string concat?

c++ - 去除换行符的方法

python-3.x - 尝试为 python3 安装 pytables