我正在尝试计算数据文件中的“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/