![](/img/trans.png)
[英]Return column of pandas df when another column's list contains specific value
[英]Return list of tuples that contains entire row of Pandas DF with nan value
如何返回元组列表,其中每个元组包含具有来自 Pandas DF 的 nan 值的行的值?
我看到了使用这个的建议:
[odfscsv_df.iloc[i, j] for i, j in zip(*np.where(pd.isnull(odfscsv_df)))]
但这只会向您显示 nan 值。 我想返回具有此 nan 值的整行
尝试这个
list(map(tuple, odfscsv_df[odfscsv_df.isna().any(1)].values))
或者使用具有相同概念的列表推导
[tuple(x) for x in odfscsv_df[odfscsv_df.isna().any(1)].values]
这样的事情怎么样?
样本df:
1 2
0 0.0 0.0
1 NaN 2.0
2 1.0 NaN
此命令检查 nans,然后逐行检查每行中的任何列是否为 nan,这将返回一个序列,只要一行至少有 1 个 nan,则返回 True,否则返回 False。
然后使用这个系列来屏蔽原始 df,然后将结果发送到记录字典并转换为列表。
df[df.isna().any(axis=1)].to_records(index=False).tolist()
output:
[(nan, 2.0), (1.0, nan)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.