Почему этот код:
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
EDIT: (решено, но я решил опубликовать то, что мне все равно помогло, большое спасибона все ответы):
k= numpy.nan
if k :
print("Hi")
else:
print("NO")
печатает Привет
k= None
if k :
print("Hi")
else:
print("NO")
печатает НЕТ
(не говоря уже о том, как я использовал .loc [ans] вместо.loc [ans ,:])