Я хочу превратить мой фрейм данных с недифференцированными значениями под каждым заголовком столбца в фрейм данных с разными значениями под каждым заголовком столбца, рядом с которым их вхождение в их конкретном столбце. Пример:
Мой начальный кадр данных виден под:
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-файла и рядом с ним вхождение каждого элемента в их конкретном столбце.
Anybody ideas?
Приведенный ниже код используется для получения уникальных значений из каждого столбца в новом фрейме данных. Я пытался что-то сделать с .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