Remove list if nan is in a lists of lists(如果NaN在列表列表中,则删除列表)
本文介绍了如果NaN在列表列表中,则删除列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个来自Pandas数据框的列表,其中包含NaN值。我想删除包含任何NaN值的所有列表。然后绘制剩余的值。
示例
test = [[1,2],[1,nan],[3,4]]
最终结果
test = [[1,2],[3,4]]
如果可能的话,我还想用任何绘制方法从最终结果绘制一张图。如果您能在这方面提供任何帮助,我们将不胜感激。
很抱歉这个问题造成了混乱,列表列表取自 pandas 数据框,因此在示例中出现了NaN。我希望保持数据框不变,并希望使用列表列表
推荐答案
从列表中删除值
使用filter
nan不是正确的Python语法,仅在Pandas库中使用。因此,我将用None替换此值。
我们可以使用filter函数删除列表中包含nan值的任何值。
test = list(filter(lambda x: None not in x, test))
使用列表理解
编辑:应为x而不是test。感谢@源泉
test=[x在测试中,如果没有x则不在测试中]
test = [x for x in test if None not in x]
两者都将返回一个列表,其中的值不包含None
绘制
我们可以使用名为matplotlib的库来绘制图形。例如,要创建散点图:
import matplotlib.pyplot as plt
plt.scatter(x, y)
其中plt.displter分别接受行和列的x值和y值。完整代码如下:
import matplotlib.pyplot as plt
test = [[1,2],[1,None],[3,4]]
test = list(filter(lambda x: None not in x, test))
x = [x for x,y in test]
y = [y for x,y in test]
# Assume all first elements are x values second elements are y values
plt.scatter(x, y)
plt.show()
图片示例如下
这篇关于如果NaN在列表列表中,则删除列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如果NaN在列表列表中,则删除列表
基础教程推荐
猜你喜欢
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
