pandas создать файл только если есть данные по отбору

Имеется код, который отбирает из одного датафрейма нужные данные по условию и записывает его в файл excel. Можно ли сделать так, чтобы файл создавался только если по заданному условием отбору есть данные, а если их нет, то файл не создавать?

import pandas as pd
df = pd.DataFrame([[124,448,'Shop1'],[56,7,'Shop2']],
                 index=['row 1','row 2'],
                 columns=['col 1','col 2','Shop'])
df
for i in df['Shop']:
    df1=df.loc[(df['col 1']>100)&(df['Shop']==i)]
    df1.to_excel('Загрузка'+i+'.xlsx', index=False)

Ответы (1 шт):

Автор решения: strawdog

Вы можете воспользоваться методом empty:

    if not df1.empty:
        df1.to_excel('Загрузка'+i+'.xlsx', index=False)

Но вообще, у вас довольно странно прописано условие. не проще ли было бы сделать как-то так:

df[df["col 1"].gt(100)].apply(lambda x:x.to_excel(
    'Загрузка'+x["Shop"]+'.xlsx', index=False), axis=1)

?

→ Ссылка