目标:我仍然想显示这个人是谁,这样我就可以显示与他们相关的NAN,这样我可以快速找到缺少信息的人。
考虑这个数据集:
df:
Name Phone Address
John Doe NAN 123 lane
Jenny Gump 222-222-2222 NAN
Larry Bean NAN 561 road
Harry Smidlap 111-111-1111 555 highway
我想清理数据并显示如下内容(类似于筛选空白时的excel视图(:然后可能用这样的东西填充空数据:;数据存在";或者干脆不写。我愿意接受建议。并删除已填充所有数据的行。
df:
Name Phone Address
John Doe NAN
Jenny Gump NAN
Larry Bean NAN
我试过:
df[df.isnull().any(axis=1)]
这很好,但我有一个大的数据源,我看到了很多不必要的信息,这些信息已经有了数据。我只关心看到这个人的名字和他们缺少的东西。
有人有什么想法吗?
由于您要求Name
列保持完整,因此您只需选择除Name
之外的其他列并屏蔽它们,然后创建另一个数据帧df2
,它将删除所有NaN
值。之后,您可以将df2
中的索引从df
中删除,并按如下方式为您提供仅具有NaN
值的行。
df.mask((df.columns != 'Name') & (df.notnull()), "", inplace=True)
df2 = df.dropna()
df.drop(df2.index, inplace=True)
这将为您提供以下输出。
Name Phone Address
John Doe NAN
Jenny Gump NAN
Larry Bean NAN
用空字符串屏蔽(替换条件为true的值(任何不为null的地方。
df.mask(df.notnull(), '')
这在多个维度上操作,传递问题"1"的2D真/假答案集;是否更换&";。如果是真的,它会将内容发送到/dev/null
,而如果不是真的,则允许它们保持不稳定。