Вот пример, иллюстрирующий ситуацию:
import pandas as pd
tbl = ''
sdb = pd.DataFrame(
{'A': [1, 2, 3, 4, 5],
'B': [1, 2, 3, 4, 4],
'C': [1, 2, 3, 3, 3],
'D': [1, 2, 2, 2, 2]},
index=[0, 1, 2, 3, 4])
df = pd.DataFrame()
print(sdb)
print('\n')
for col in sdb.columns:
uni = sdb[col].nunique()
if uni <= 3:
tbl = pd.DataFrame(sdb[col].drop_duplicates())
tbl.reset_index(drop=True)
df = pd.concat([df, tbl], axis=1)
print(df)
Вывод:
A B C D
0 1 1 1 1
1 2 2 2 2
2 3 3 3 2
3 4 4 3 2
4 5 4 3 2
C D
0 1 1.0
1 2 2.0
2 3 NaN