'Return entire row and append to value in a dataframe

I am trying to write a function that searches a data frame row by row for a values in a column then appends entire row to the right side of the value if that value is found in any row.

Dataframe1

Col1 Col2 Col3 Lookup

400  60    80   90

50   90    68   80

What I want is a following dataframe:

Dataframe 2

Lookup Col1 Col2 Col3

90      50   90   68

80      400  60   80

Any help is much appreciated.



Solution 1:[1]

You can try this out;

df1 = df.iloc[:,0:-1]
new = pd.DataFrame()
for val in df['Lookup']:
    s = df1[df1.eq(val).any(1)]
    new = new.append(s,ignore_index = True)
new.insert(0,'Lookup',df['Lookup'])
print(new)

#    Lookup  Col1  Col2  Col3
# 0      90    50    90    68
# 1      80   400    60    80

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sheetal