为什么这个代码:
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
仍然产生 NaN 元素?如(打印结果后):
298110 SP WorkState
298111 RJ WorkState
298112 SP WorkState
298113 SP WorkState
298114 Scotland WorkState
298115 NaN WorkState
事实上在申请后:
ans = pd.isnull(NDF).any(1).nonzero()[0]
NDF.loc[ans]
我得到多个结果:
Value Label
1430923 NaN FirstName
1430923 - LastName
1532357 jty LastName
3822535 NaN NaN
3830294 NaN NaN
4300250 NaN NaN
5201009 NaN NaN
5396591 NaN NaN
5485877 NaN NaN
5561799 NaN NaN
5619806 NaN NaN
5680834 NaN NaN
6620272 NaN NaN
7539369 NaN NaN
8390860 NaN NaN
8688976 NaN NaN
其中之一不是空的(jty,LastName),我通过简单打印注意到的那个不在索引的 ans 列表中
编辑:(已解决,但认为我应该发布对我有帮助的内容,主要感谢所有回复):
k= numpy.nan
if k :
print("Hi")
else:
print("NO")
打印嗨
k= None
if k :
print("Hi")
else:
print("NO")
没有打印
(更不用说我使用 .loc[ans] 而不是 .loc[ans,:] 的方式了)
繁星淼淼
相关分类