可以说我有以下内容pandas
DataFrame
:
import pandas as pd
df = pd.DataFrame({"A":[1,pd.np.nan,2], "B":[5,6,0]})
看起来像:
>>> df
A B
0 1.0 5
1 NaN 6
2 2.0 0
我知道一种检查特定值是否NaN
为的方法,如下所示:
>>> df.isnull().ix[1,0]
True
我认为下面的选项usingix
可以正常工作,但事实并非如此:
>>> df.ix[1,0]==pd.np.nan
False
我也尝试iloc
了相同的结果:
>>> df.iloc[1,0]==pd.np.nan
False
但是,如果我使用ix
或检查这些值,则会iloc
得到:
>>> df.ix[1,0]
nan
>>> df.iloc[1,0]
nan
那么, 为什么第二种选择不起作用? 是否可以NaN
使用ix
或检查值iloc
?
尝试这个:
In [107]: pd.isnull(df.iloc[1,0])
Out[107]: True
更新: 在较新的Pandas版本中,使用pd.isna():
In [7]: pd.isna(df.iloc[1,0])
Out[7]: True
问题内容: 我只想检查Pandas系列中的单个单元格是否为null,即检查值是否为。 所有其他答案适用于序列和数组,但不适用于单个值。 我已经试过,,。是否只有一个单一值的解决方案? 问题答案: 尝试这个:
问题内容: 我也有类似的问题,这个。区别在于我必须按位置选择行,因为我不知道索引。 我想做类似的事情,但是iloc不允许这种访问。如果执行此操作,则会出现有关链接索引的警告。 问题答案: 对于混合位置和索引,请使用。但是您需要确保索引不是整数,否则会引起混乱。 更新: 或者,尝试 例:
我有一个类似于这个和这个的问题。区别在于我必须按位置选择行,因为我不知道索引。 我想做一些类似于,但iloc不允许这种访问。如果我执行,则会出现关于链接索引的警告。
问题内容: 在Python Pandas中,检查DataFrame是否具有一个(或多个)NaN值的最佳方法是什么? 我知道函数,但是这会为每个元素返回一个布尔值的DataFrame。此处的帖子也无法完全回答我的问题。 问题答案: jwilner的反应是现场的。我一直在探索是否有更快的选择,因为根据我的经验,求平面数组的总和(奇怪)比计数快。这段代码似乎更快: 速度稍慢,但当然还有其他信息-的数量。
我基本上是在尝试做一个向前填充的归因。下面是它的代码。 我在日志里发现了奇怪的错误。 编辑:问题与如何使用Python识别spark数据帧中的null&nan有关。 文件“C:\spark\python\pyspark\sql\dataframe.py”,第318行,显示打印(self._jdf.showstring(n,20)) 文件“C:\spark\python\lib\py4j-0.10.
我正在使用Java Apache POI库。在这里,我想在下面的方法(getExcellContent)中检查给定的单元格是否为空。我如何检查? 如果传递的单元格为空,则我收到致命错误,如果我使用的是getCellType()(“int getType = sheet1.getRow(row).getCell(col).getCellType();”)。我想在使用getCellType之前检查给定