繁体   English   中英

返回包含整行 Pandas DF 且具有 nan 值的元组列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM