Вы ищете что-то подобное?
import pandas as pd
df = pd.DataFrame(
{"Col1": ["Value11", "stuff1", "stuff1","Value12", "stuff2", "stuff2"],
"Col2": ["Value21", "stuff1", "stuff1","Value22", "stuff2", "stuff2"],
"Col3": ["Value31", "stuff1", "stuff1","Value32", "stuff2", "stuff2"],
"Col4": ["", 2, 3,"",6,4], },
index=[1, 2, 3,4,5,6])
df1 = df.loc[df['Col1'] == 'stuff1']
df2 = df.loc[df['Col1'] == 'stuff2']
dfc = pd.concat([df1,df2])
df11 = df.loc[df['Col1'] == 'Value11']
df22 = df.loc[df['Col1'] == 'Value12']
dfc1 = pd.concat([df11, df11])
dfc2 = pd.concat([df22, df22])
df_fin1 = pd.concat([dfc1, dfc2])
print(df_fin1)
dfc.reset_index(drop=True, inplace=True)
df_fin1.reset_index(drop=True, inplace=True)
df_fin = pd.concat([dfc, df_fin1], axis=1)
print(df_fin)