本文介绍了如果NaN在列表列表中,则删除列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个来自Pandas数据框的列表,其中包含NaN值。我想删除包含任何NaN值的所有列表。然后绘制剩余的值。
示例
test = [[1,2],[1,nan],[3,4]]
最终结果
test = [[1,2],[3,4]]
如果可能的话,我还想用任何绘制方法从最终结果绘制一张图。如果您能在这方面提供任何帮助,我们将不胜感激。
很抱歉这个问题造成了混乱,列表列表取自 pandas 数据框,因此在示例中出现了NaN。我希望保持数据框不变,并希望使用列表列表
推荐答案
从列表中删除值
使用列表理解
编辑:应为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在列表列表中,则删除列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!