【发布时间】:2018-07-30 09:35:25
【问题描述】:
我正在尝试以正确的顺序将列表扩展到单独的列表列表。但有些价值观是南的。当我这样做时,我得到一个错误ValueError: could not convert string to float:。遍历删除 Nan 的列表然后扩展到列表会更有效吗?
数据集和代码示例如下:
数据:
X Y
5 6
Nan Nan
10 5
Nan Nan
8 2
n=0
for column in data :
if n == 0 :
n+=1
continue
visuals[0].extend([float(column[0])])
visuals[1].extend([float(column[1])])
在@Mahesh Karia 的代码之后从 cmets 开始。虚拟数据工作正常,但我的数据集返回空列表。下面提供了两者的示例:
data_1 = [['Nan', 5, 'Nan', 10, 'Nan', 8],
['Nan', 6, 'Nan', 5, 'Nan', 2]]
data_2 = [[nan, -5891.3764, -5901.0081390000005, -5939.977304, -5921.11797],
[nan, 3339.025337, 3346.9211149999996, 3356.405148, 3412.836335]]
所以 data_1 有效,但 data_2 返回一个空列表?
【问题讨论】:
-
您的原始数据到底是什么?向我们展示它的 Python 形式,而不是打印输出。
-
如果我正确理解了这个问题,您将不得不比较每个列表项以查看它是字符串
Nan还是整数。如何通过列表理解创建一个新列表[float(a) for a in x if a != 'Nan']一次性从每个给定列表中过滤掉Nans(并将整数转换为浮点数)? -
您是否尝试获取 2 个列表并制作列表列表?如果是这样,有直接的方法可以做到这一点。
-
.append(item)比.extend([item])更直接。