為什么這個代碼:def remove_empties(dataframe): classes = list(dataframe) new_dataframe = pd.DataFrame(columns=["Value", "Label"]) for c in classes: X=[(k,c) for k in dataframe.loc[:,c] if k] T = pd.DataFrame(X, columns =["Value", "Label"] ) new_dataframe = new_dataframe.append(T) return new_dataframe仍然產(chǎn)生 NaN 元素?如(打印結(jié)果后):298110 SP WorkState298111 RJ WorkState298112 SP WorkState298113 SP WorkState298114 Scotland WorkState298115 NaN WorkState事實上在申請后:ans = pd.isnull(NDF).any(1).nonzero()[0]NDF.loc[ans]我得到多個結(jié)果: Value Label1430923 NaN FirstName1430923 - LastName1532357 jty LastName3822535 NaN NaN3830294 NaN NaN4300250 NaN NaN5201009 NaN NaN5396591 NaN NaN5485877 NaN NaN5561799 NaN NaN5619806 NaN NaN5680834 NaN NaN6620272 NaN NaN7539369 NaN NaN8390860 NaN NaN8688976 NaN NaN其中之一不是空的(jty,LastName),我通過簡單打印注意到的那個不在索引的 ans 列表中編輯:(已解決,但認為我應該發(fā)布對我有幫助的內(nèi)容,主要感謝所有回復):k= numpy.nanif k : print("Hi")else: print("NO")打印嗨k= Noneif k : print("Hi")else: print("NO")沒有打印(更不用說我使用 .loc[ans] 而不是 .loc[ans,:] 的方式了)
數(shù)據(jù)框仍然有 NaN
ibeautiful
2021-07-01 13:04:06