У меня есть фрейм данных с пропущенными значениями (даже не Nan, там просто ничего). Я хочу сообщить недостающую информацию.
S02Q18b_01 S02Q18b_02 S02Q18b_05 S02Q18b_06 S02Q18b_07 S02Q18b_08 S02Q18b_09
0
1
2 -1 0 0
3 -1
4
... ... ... ... ... ... ... ...
4570 -1 -1 1 -1 1
4571 -1 1 1 0 -1 -1 1
4572 -1 1 0 1 -1 -1 1
4573 -1 -1 1 -1 -1 -1 1
4574 0 0 0 0 0 0
На самом деле missing = np.where(df[filter_col].applymap(lambda x: x == ''))
, отправьте мне обратно:
(array([], dtype=int64), array([], dtype=int64))
.isnull().sum(min_count=1)
Я также пробовал:
miss_values_count = df[filter_col].isnull().sum(min_count=1)
miss_values_count = miss_values_count[miss_values_count != 0]
print(f"Number of columns with missing values: {miss_values_count.shape[0]}")
if miss_values_count.shape[0]:
print("Null value count per column: ")
for name, miss_vals in miss_values_count.items():
p = miss_vals > 1
print(f" - For column name '{name}' there are{'n' if p else ''} "
f"{miss_vals} ({100*(miss_vals/df[filter_col].size)}) missing values{'s' if p else ''}.")
Но это дает мне Number of columns with missing values: 0
fillna.(np.nan)
Попробуйте решение Рубиалеса Альберто , но оно не заполняет пропущенные значения:
Попытайся делать это, будучи "dataframe" твои данные.
import numpy as np
import pandas as pd
dataframe.fillna(np.nan, inplace=True) #rellenamos todos los valores que faltan con NaN
dataframe.isna().sum() #Sumamos los NaN de cada columna
Vale видя твой update, уже sГ© то, что происходит, то, что он перемещает, состоит в том, что эти ячейки - string с местом или без чего-либо. Чтобы это менять ты должен делать следующее:
#realizamos las operaciones para cambiar las celdas vacias o con espacios a nan
dataframe = dataframe.replace('\s+', np.nan, regex=True).replace('', np.nan)
#sumamos para saber los números de nan por columnas
dataframe.isna().sum()
то, что мы делаем в первый, повторно нравится состоит в том, чтобы заменять все ячейки, у которых есть место или mГЎs из-за, nan. И с секунда повторно нравится мы заменяем все ячейки, которые strings пустые из-за nan.