I have a main_df dataframe as below.
user_id main_code sub_1 sub_2
0 03920 AA YA ZA
1 34233 BB YB ZA
2 02342 AA YD ZB
3 32324 CC YA ZA
4 52323 AA YA ZD
5 20932 DD YD ZD
6 02034 BB YA ZA
I am trying to achieve below output dataframe. Selected columns(sub_1 & sub_2) of main_df dataframe unique values count and covert to dataframe columns.
main_code YA YB YD ZA ZB ZD
0 AA 2.0 NaN 1.0 1.0 1.0 1.0
1 BB 1.0 1.0 NaN 2.0 NaN NaN
2 CC 1.0 NaN NaN 1.0 NaN NaN
3 DD NaN NaN 1.0 NaN NaN 1.0
So far I tried as below. I get a different output.
result_df = pd.DataFrame()
for col in ['sub_1','sub_2']:
result_df = pd.concat([result_df, pd.DataFrame(main_df[pd.notnull(main_df[col])]['main_code'].value_counts())], axis=1)
result_df.columns = ['sub_1','sub_2']
It would be helpful someone can guide me. Thank you.