Как в Pandas получить random 4 строки по 4 условиям

gerzzog

Новичок
Пользователь
Дек 24, 2021
12
0
1
Приветствую.
У меня есть выборка по чекам по 4 магазинам:
ФИО Отдел Должность Маркет
Бунина У.С. 80 ассистент DRK
Rунина У.С. 70 ассистент DRK
Zунина У.С. 100 ассистент SDK
Qунина У.С. 80 ассистент RRK
Iунина У.С. 80 ассистент KRK
Iунина У.С. 80 ассистент SDK
Iунина У.С. 80 ассистент ZRK
Iунина У.С. 80 ассистент KRK
Iунина У.С. 80 ассистент ZRK

код вида:
Python:
df = pd.read_sql('''...''', connection)
df2 = df.Маркет.str.contains('DRK')
df3 = df.Маркет.str.contains('ZRK')
df4 = df.Маркет.str.contains('KRK')
df5 = df.Маркет.str.contains('RRK')
print(df[df2].sample())
print(df[df3].sample().to_string(header=False))
print(df[df4].sample().to_string(header=False))
print(df[df5].sample().to_string(header=False))

то есть я получаю 4 строки, по 1 строке рандомно на каждый Маркет. Это и будут победители.
Но, как видите, код очень примитивный и когда я вывожу его как print(), то все строки "пляшут",
они не выровнены как в одной таблице.
Как мне написать код, чтобы была 1 таблица на 4 строки (рандомно выбор по каждому маркету по 1 победителю)
 

gerzzog

Новичок
Пользователь
Дек 24, 2021
12
0
1
победил. Можно применить CONCAT:
Код:
df2 = df.Маркет.str.contains('SVR')
df3 = df.Маркет.str.contains('SFR')
df4 = df.Маркет.str.contains('SVN')
df5 = df.Маркет.str.contains('SFL')
df_union_all = pd.concat([df[df2].sample(),df[df3].sample(),df[df4].sample(),df[df5].sample()])
 

Форум IT Специалистов