既然你有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:既然我们认为空
值
和空格都代表无数据,那么可以先得到这两种情况下的布尔数组。这里,...