Как установить цензурированные, не пропущенные данные? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть фрейм данных, который выглядит следующим образом:

df_dict = {'A': [5, 3, None, None, 4, 2], 
           'B': [2, None, 4, 5, None, None], 
           'C': [4, 3, 8, 5, 6, 7], 
           'D': [5, 4, 2, None, 7, 8],
           'E': [2, 3, 4, None, None, None],
           'F': [1, 2, None, None, None, None]}
df = pd.DataFrame(df_dict)

enter image description here

Здесь C представляет полные данные. E и F представляют данные, подвергнутые цензуре, но перед тем, как данные будут подвергнуты цензуре, они отсутствуют. A, B и D представляют цензурированные и / или отсутствующие данные. Точка цензуры может быть разной. Как я могу задать подкадр данных, состоящий из столбцов с полными (C) или цензурированными, но полными (E, F) данными?

Обновление: мне удалось выяснить это. Не самый элегантный, но работающий

df_noncensor = pd.DataFrame()
for col in df.columns:
    last_valid = df[col].last_valid_index()
    df[col].fillna(-999, inplace = True)
    if -999 not in df[col][0:last_valid].to_list():
        series_tmp = df[col]
        df_noncensor[col] = series_tmp

df_noncensor = df_noncensor.replace(-999, np.NaN)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...