How to merge two rows in a dataframe pandas
You could use max
with transpose like
In [2103]: df.max().to_frame().T
Out[2103]:
PC Rating CY Rating PY HT MV1 MV2
0 DE101 AA+ AA GV 10 20
You can make use of DF.combine_first()
method after separating the DF
into 2 parts where the null values in the first half would be replaced with the finite values in the other half while keeping it's other finite values untouched:
df.head(1).combine_first(df.tail(1))
# Practically this is same as → df.head(1).fillna(df.tail(1))
Incase there are columns of mixed datatype, partitioning them into it's constituent dtype
columns and then performing various operations on it would be feasible by chaining them across.
obj_df = df.select_dtypes(include=[np.object])
num_df = df.select_dtypes(exclude=[np.object])
obj_df.head(1).combine_first(obj_df.tail(1)).join(num_df.head(1).add(num_df.tail(1)))