Olá Matheus, tudo bem?
Na fórmula de Sturges, o "n" representa o número de observações ou registros que você está analisando. Então, sim, "n" seria a quantidade de linhas do dataframe que você está utilizando para a análise específica.
Agora, sobre a questão de usar a mesma base ou construir bases diferentes: se você deseja analisar a distribuição de faturamento por produtos e por vendedores, você pode usar a mesma base de dados, mas precisará filtrar ou agrupar os dados de acordo com o que deseja analisar. Por exemplo:
Você pode agrupar o dataframe por produtos e somar o faturamento para cada produto. Assim, "n" será o número de produtos únicos.
df_produtos = df.groupby('produto').agg({'faturamento': 'sum'})
n_produtos = df_produtos.shape[0]
Da mesma forma, você pode agrupar por vendedores e somar o faturamento para cada vendedor. Nesse caso, "n" será o número de vendedores únicos:
df_vendedores = df.groupby('vendedor').agg({'faturamento': 'sum'})
n_vendedores = df_vendedores.shape[0]
Dessa forma, para cada análise, "n" será diferente, pois representa o número de grupos distintos (produtos ou vendedores) que você está analisando. Para aplicar a Regra de Sturges corretamente, você deve calcular "n" com base no agrupamento que está utilizando.
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!