Я хочу превратить мой фрейм данных с неотличимыми значениями под каждым заголовком столбца в фрейм данных с отдельными значениями под каждым заголовком столбца с рядом с ним их вхождением в их конкретный столбец. Пример:
Мой исходный фрейм данных виден внизу:
A B C D
0 CEN T2 56
2 DECEN T2 45
3 ONBEK T2 84
NaN CEN T1 59
3 NaN T1 87
NaN NaN T2 NaN
0 NaN NaN 98
NaN CEN NaN 23
NaN CEN T1 65
где A, B, C и D - заголовки столбцов с каждыми 9 значениями под ними (включая пробелы).
Мой предпочтительный выходной кадр данных должен выглядеть так: (сначала столбец уникальных значений для каждого столбца в исходном кадре данных, а рядом с ним - их появление в этом конкретном столбце)
A B C D A B C D
0 CEN T2 56 2 4 4 1
2 DECEN T1 45 1 1 3 1
3 ONBEK NaN 84 2 1 NaN 1
Nan NaN NaN 59 NaN NaN NaN 1
NaN NaN NaN 87 NaN NaN NaN 1
NaN NaN NaN 98 NaN NaN NaN 1
NaN NaN NaN 23 NaN NaN NaN 1
NaN NaN NaN 65 NaN NaN NaN 1
где A, B, C и D - заголовки столбцов, под которыми сначала указаны отдельные значения для каждого столбца из исходного .csv-файла, а затем - наличие каждого элемента в соответствующем столбце.
Есть идеи?
Приведенный ниже код используется для получения уникальных значений из каждого столбца в новый фрейм данных. Я попытался сделать что-то с .value_counts, чтобы получить вхождение в каждом столбце, но мне не удалось снова поместить его в один фрейм данных с уникальными значениями ..
df
new_df=pd.concat([pd.Series(df[i].unique()) for i in df.columns], axis=1)
new_df.columns=df.columns
new_df