从注释中删除 nan

如何删除记录用y=nanlistdictionary像下面?

[{'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2018-Q3', 'y': 169.80000000000001, 'text': '169.8', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2018-Q4', 'y': 53.829999999999998, 'text': '53.83', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q1', 'y': 63.420000000000002, 'text': '63.42', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q2', 'y': 42.369999999999997, 'text': '42.37', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q3', 'y': nan, 'text': 'nan', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q4', 'y': nan, 'text': 'nan', 'showarrow': False}]


UYOU
浏览 144回答 3
3回答

慕仙森

你的问题不是很好,但我会做一些假设并尝试提供帮助。试试这个:import numpy as npnan = np.nandict_list = [{'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2018-Q3', 'y': 169.80000000000001, 'text': '169.8', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2018-Q4', 'y': 53.829999999999998, 'text': '53.83', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q1', 'y': 63.420000000000002, 'text': '63.42', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q2', 'y': 42.369999999999997, 'text': '42.37', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q3', 'y': nan, 'text': 'nan', 'showarrow': False}, {'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2019-Q4', 'y': nan, 'text': 'nan', 'showarrow': False}]filtered_dict_list = [x for x in dict_list if not np.isnan(x['y'])]这是一个简单的列表理解过滤,谷歌它......祝你好运!做出的假设:nan 应该是 numpy.nan“删除”是指“获取不包含不需要的字典的新字典列表

动漫人物

下面的工作。newrecord2 = [] for d in annotations2: if d['text'] != 'nan': # 前提是你在开头“import numpy.nan as nan” newrecord2.append(d) #print newrecord

杨__羊羊

以下解决您的问题:# let name your initial record "record"# record = [{'yanchor': 'bottom', 'xanchor': 'auto', 'x': u'2018-Q3', 'y': 169.80000000000001, 'text': '169.8', 'showarrow': False},..]## Let initialise a new recordnewrecord = []for d in record:    if d['y'] is nan:   # provided that you "import numpy.nan as nan" at the beginning       del d['y']    newrecord.append(d)# “newrecord”对应没有d[y] = nan的新记录。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python