python - 如何检查值是 nan 还是列表?
问题描述
我目前正在使用 pandas DataFrame
。在迭代它时,我想检查一个值是numpy.nan
还是一个列表。
for i, row in df.iterrows():
value = row["Name"]
if pd.isnull(value):
dosomething()
这工作得很好,除非
type(value) == list
然后我想也许可以放any()
:
for i, row in df.iterrows():
value = row["Name"]
if any(pd.isnull(value)):
dosomething()
但是现在每次 aNaN
值时我都会得到一个异常,因为它显然是不可迭代的。
有没有比检查值类型更好的解决方案?
解决方案
使用or
:
for i, row in df.iterrows():
value = row["Name"]
if pd.isnull(value) or (type(value) == list):
dosomething()
另一种检查方法是isinstance
:
for i, row in df.iterrows():
value = row["Name"]
if pd.isnull(value) or isinstance(value, list):
dosomething()
推荐阅读
- graph-theory - Gremlin-如何找到仅通过 G 的从 A 到 Z 的路径
- scala - 通过 SBT 下载插件时如何修复 SSL 错误?
- ios - UIView 仅在一个视图控制器中进行动画处理
- linux - ubuntu 18 中的 Minikube 32 位安装问题
- r - 查找归一化后更改为的值
- r - 如何在 lpSolve r 中实现!=(不等于)
- java - 如何在属性中显示json数据
- python - 如何提取正则表达式查询直到特定单词?
- google-cloud-firestore - 同一个 Firestore 集合上的多个触发器
- python-3.x - 选择“student_id”,其中“pass”值在每种情况下都不为 0