Как упростить выражение?

print(f"short_model - {df.short_model.nunique()}")
print(f"transmission - {df.transmission.nunique()}")
print(f"region - {df.region.nunique()}")
print(f"manufacturer - {df.manufacturer.nunique()}")
print(f"state - {df.state.nunique()}")
print(f"title_status - {df.title_status.nunique()}")
print(f"age_category - {df.age_category.nunique()}")

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

Автор решения: Dark Space

Попробуйте так:

print(f"""
transmission - {df.transmission.nunique()}
region - {df.region.nunique()}
manufacturer - {df.manufacturer.nunique()}
state - {df.state.nunique()}
title_status - {df.title_status.nunique()}
age_category - {df.age_category.nunique()}
""")
→ Ссылка
Автор решения: Chorkov

Не уверен, что это упрощение:

for name in ['transmission', 'region', 'manufacturer', 'state', 'title_status', 'age_category']:
    print(f"{name} - {df[name].nunique()}")
→ Ссылка
Автор решения: strawdog
_=[print(f"{column} - {df[column].nunique()}") for column in df.columns]
→ Ссылка
Автор решения: CrazyElf

Зачем так сложно.

print(df.nunique())

Пример вывода:

transmission    63
region          67
manufacturer    64
state           66
title_status    61
age_category    65
dtype: int64

Если какие-то колонки не нужны, берёте df[список_колонок].nunique() или так df.drop(columns=[список_колонок_которые_не_нужны]).nunique().

P.S. Ещё чуть красивее:

print(df.nunique().to_frame().rename(columns={0: 'nqunique'}))

Вывод:

              nqunique
transmission        63
region              67
manufacturer        64
state               66
title_status        61
age_category        65
→ Ссылка