gpt4 book ai didi

python - 如何从列表中删除 Nan 并扩展到列表列表

转载 作者:行者123 更新时间:2023-11-30 22:20:19 25 4
gpt4 key购买 nike

我正在尝试按正确的顺序将列表扩展为单独的列表列表。但有些值(value)观是 Nan 的。当我这样做时,我收到错误ValueError:无法将字符串转换为 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 代码后的评论。虚拟数据工作正常,但我的数据集返回空列表。下面提供了两者的示例:

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 返回一个空列表?

最佳答案

def is_number(s):
try:
if str(s).lower() != "nan":
float(s)
return True
except ValueError:
pass
return False


data_2 = [['nan', -5891.3764, -5901.0081390000005, -5939.977304, -5921.11797],
['nan', 3339.025337, 3346.9211149999996, 3356.405148, 3412.836335]]

visuals = [[],[]]

visuals[0].extend([float(_) for _ in data_2[0] if is_number(_)])
visuals[1].extend([float(_) for _ in data_2[1] if is_number(_)])

print visuals

输出:

[[-5891.3764, -5901.0081390000005, -5939.977304, -5921.11797], [3339.025337, 3346.9211149999996, 3356.405148, 3412.836335]]

关于python - 如何从列表中删除 Nan 并扩展到列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48878219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com