添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

既然你有pandas,你可以在这里利用pandas的pd.Series.notnull函数,它可以使用混合dtypes.

>>> import pandas as pd

>>> {k: v for k, v in dict_cg.items() if pd.Series(v).notna().all()}

{30: ('A1', 55.0), 31: ('A2', 125.0), 32: ('A3', 180.0)}

这不是答案的一部分,但可以帮助您了解我是如何达到解决方案的.在尝试使用pd.notnull直接解决这个问题时,我遇到了一些奇怪的行为.

拿dict_cg [43].

>>> dict_cg[43]

('A4', nan)

pd.notnull不起作用.

>>> pd.notnull(dict_cg[43])

它将元组视为单个值(而不是可迭代的值).此外,将其转换为列表然后测试也会给出错误的答案.

>>> pd.notnull(list(dict_cg[43]))

array([ True, True])

由于第二个值是nan,我正在寻找的结果应该是[True,False].它最终适用于您预转换为系列时:

>>> pd.Series(dict_cg[43]).notnull()

0 True

1 False

dtype: bool

因此,解决方案是Series-ify,然后测试值.

沿着类似的路线,另一个(不可否认的是迂回)解决方案是预先转换为对象dtype numpy数组,pd.notnull将直接工作:

>>> pd.notnull(np.array(dict_cg[43], dtype=object))

Out[151]: array([True, False])

我想pd.notnull直接将dict_cg [43]转换为封面下的字符串数组,将NaN渲染为字符串“nan”,因此它不再是“null”值.

NaN ,即“Not a Number”,是缺失 (Missing Value)的一种形式。当某些数据不存在、未被收录或不能转化为数字时,就会产生 NaN NaN 是一个特殊 ,它表示一个不确定的或未知的数字。 NaN 不等于任何 ,包括它自己。在 Python NaN 通常是由于缺失数据、数据输入错误或者无法计算得出结果等问题产生的。在数据分析和机器学习任务 NaN 需要被处理掉,以避免对后续分析和建模的影响。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt。 I have the foll. dictionary in python :OrderedDict([(30, ('A1', 55.0)), (31, ('A2', 125.0)), (32, ('A3', 180.0)), (43, ('A4', nan ))])Is there a way to remove the entries where any of the values is NaN ?... 我有一本 字典 ,里面装满了我导入的两个文件 的数据,但是有些数据以 nan 的形式出现。如何使用 nan 删除 数据片段?我的代码是:import matplotlib.pyplot as pltfrom pandas.lib import Timestampimport numpy as npfrom datetime import datetimeimport pandas as pdimport col... 在人工采集数据时,经常有可能把空 和空格混在一起,一般也注意不到在本来为空的单元格里加入了空格。这就给做数据处理的人带来了麻烦,因为空 和空格都是代表的无数据,而pandas Series的方法notnull()会把有空格的数据也纳入进来,这样就不能完整地得到我们想要的数据了,这里给出一个简单的方法处理该问题。 既然我们认为空 和空格都代表无数据,那么可以先得到这两种情况下的布尔... import pandas as pdimport statisticsdf=print(pd.read_csv('001.csv',keep_default_na=False, na_values=[""]))print(df)I am using this code to create a data frame which has no NA values. I have couple of ... 3.使用add以及fill_value import pandas as pd s1 = pd.Series( [1, 2, 3, 4], index = ['a', 'b', 'c', 'd']) s2 = pd.Series([... 在人工采集数据时,经常有可能把空 和空格混在一起,一般也注意不到在本来为空的单元格里加入了空格。这就给做数据处理的人带来了麻烦,因为空 和空格都是代表的无数据,而pandas Series的方法notnull()会把有空格的数据也纳入进来,这样就不能完整地得到我们想要的数据了,这里给出一个简单的方法处理该问题。方法1:既然我们认为空 和空格都代表无数据,那么可以先得到这两种情况下的布尔数组。这里,...