Using the columns max() - i.e. max(axis=1) - will allow you to collapse all values ββinto a single column:
In [1]: import pandas as pd In [2]: df = pd.DataFrame({"Q1_Seen": ['Q1a', None, None, None], "Q2_Seen": [None, "Q2a", None, "Q2c"], "Q3_Seen": [None, None, "Q3d", None],"Q4_Seen": [None, None, None, None]}) In [3]: df Out[3]: Q1_Seen Q2_Seen Q3_Seen Q4_Seen 0 Q1a None None None 1 None Q2a None None 2 None None Q3d None 3 None Q2c None None In [4]: df['Q_Seen'] = df.max(axis=1) In [5]: df Out[5]: Q1_Seen Q2_Seen Q3_Seen Q4_Seen Q_Seen 0 Q1a None None None Q1a 1 None Q2a None None Q2a 2 None None Q3d None Q3d 3 None Q2c None None Q2c
source share