I am a newbie in pandas. I am trying the same thing as this answer is saying.
I have data like
SubjectID Visit Value1 Value2 Value3
1 1.57 1.75 1.56
1 1.56 N/A N/A
B1 2 N/A 1.56 N/A
and I want data like
SubjectID Visit Value1 Value2 Value3
1 1.57,1.56 1.75 1.56
B1 2 N/A 1.56 N/A
What I tried is
#1. Did not work
df.groupby(['SubjectID', 'Visit'])['Value1']\
.apply(lambda val: ','.join(val)).reset_index()
#2. did not work
df = df.groupby(['SubjectID', 'Visit'])['Value1']\
.apply(lambda val: ','.join(val)).reset_index()
#3. did not work
df.groupby(['SubjectID', 'Visit'])['Value1', 'Value2', 'Value3']\
.apply(lambda v1, v2, v3 : ','.join(val1), ','.join(val2), ','.join(val3)).reset_index()
#4. did not work
df.groupby(['SubjectID', 'Visit'])\
['Value1'].apply(lambda v1:','.join(val1)) \
['Value2'].apply(lambda v2:','.join(val2)) \
['Value3'].apply(lambda v3:','.join(val3)).reset_index()
Any suggestions to get this working?