I have a dataframe like this
>>df1 = pd.DataFrame({'A': ['1', '2', '3', '4','5'],
'B': ['1', '1', '1', '1','1'],
'C': ['c', 'A1', None, 'c3',None],
'D': ['d0', 'B1', 'B2', None,'B4'],
'E': ['A', None, 'S', None,'S'],
'F': ['3', '4', '5', '6','7'],
'G': ['2', '2', None, '2','2']})
>>df1
A B C D E F G
0 1 1 c d0 A 3 2
1 2 1 A1 B1 None 4 2
2 3 1 None B2 S 5 None
3 4 1 c3 None None 6 2
4 5 1 None B4 S 7 2
我删除包含NaN值的行。df2 = df1.dropna()
A B C D E F G
1 2 1 A1 B1 None 4 2
2 3 1 None B2 S 5 None
3 4 1 c3 None None 6 2
4 5 1 None B4 S 7 2
这是一个由于数据中包含NaN值而被删除的数据框。但是,我想知道为什么它们会被删除?哪一列是导致该行被删除的“第一个NaN值列”?我需要报告被删除的原因。
输出应为:
['E','C','D','C']
我知道可以通过对每一列使用dropna
,然后将其记录为原因来实现,但这真的不够高效。
有没有更高效的方法来解决这个问题呢? 谢谢。
None
而不是NaN
是否有任何原因?对于您的问题的答案可能取决于这个... - MaxU - stand with Ukraine