Искам да превърна моята рамка от данни с неотличими стойности под всяка заглавка на колона в рамка от данни с различни стойности под всяка заглавка на колона с тяхното появяване в тяхната конкретна колона до нея. Пример:
Първоначалната ми рамка с данни се вижда отдолу:
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