Convert wide format data in separate dfs to long format in a single df in Python. Some values are NaNs.
Minimal example:
df1 = pd.DataFrame({
"id": ["Mark", "Dave", "Ron" ],
"c2_A": [2, 3, np.nan ],
"c3_A": [1, np.nan, np.nan ] })
df2 = pd.DataFrame({
"id": ["Mark", "Dave", "Ron" ],
"c2_B": [1, 0, np.nan ],
"c3_B": [1, np.nan, 4 ] })
Required df:
dffinal = pd.DataFrame({
"id": ["Mark", "Mark","Dave", "Dave", "Ron" , "Ron"],
"cValue": ["A", "B","A", "B", "A", "B"],
"c2Value": [2, 1, 3,0,np.nan,np.nan ],
"c3Value": [1, 1, np.nan,np.nan,np.nan,4 ] }