Translate

Feriados Nacionais , Religiosos , Pontos Facultativos 2025 -- como referência Joinville :)


Para informações mais detalhadas e atualizadas, recomenda-se consultar o Calendário de Feriados e Pontos Facultativos do Município de Joinville para 2025.

Espero que estas informações ajudem no seu planejamento para 2025.

Aqui está a imagem que representa os feriados nacionais, religiosos e pontos facultativos de 2025 com referência a Joinville!


Observações:

  • Dia da Consciência Negra: Em algumas localidades, como Joinville, é considerado feriado em 20/11.
  • Carnaval e Corpus Christi: São pontos facultativos em âmbito nacional, mas podem ser considerados feriados municipais em algumas cidades.
 Feriados Nacionais 2025:
  1. 01/01 (quarta-feira) - Confraternização Universal
  2. 21/04 (segunda-feira) - Tiradentes
  3. 01/05 (quinta-feira) - Dia do Trabalhador
  4. 07/09 (domingo) - Independência do Brasil
  5. 02/11 (domingo) - Finados
  6. 15/11 (sábado) - Proclamação da República
  7. 25/12 (quinta-feira) - Natal

Feriados Religiosos 2025:

  1. 18/04 (sexta-feira) - Sexta-Feira Santa
  2. 19/06 (quinta-feira) - Corpus Christi
  3. 12/10 (domingo) - Nossa Senhora Aparecida

Datas Comemorativas Locais (Joinville):

  1. 09/03 (domingo) - Aniversário de Joinville
  2. 20/11 (quinta-feira) - Dia da Consciência Negra

Pontos Facultativos 2025:

  1. 03/03 (segunda-feira) - Carnaval
  2. 04/03 (terça-feira) - Carnaval
  3. 05/03 (quarta-feira) - Quarta-feira de Cinzas (até as 14h)
  4. 24/12 (quarta-feira) - Véspera de Natal (após as 14h)
  5. 31/12 (quarta-feira) - Véspera de Ano Novo (após as 14h)

A determinação de ponto facultativo até as 14h, como na Quarta-feira de Cinzas, é uma prática comum no Brasil. O principal motivo é permitir que as pessoas retornem às suas atividades após o Carnaval, já que a maioria das celebrações e eventos carnavalescos ocorre até a madrugada da Quarta-feira de Cinzas.

Essa prática é regulamentada pelo Governo Federal e aplicada em órgãos públicos, com base na Portaria de Feriados e Pontos Facultativos publicada anualmente. Ela indica:

  • Até as 14h: um horário reduzido para facilitar a retomada gradual do expediente.
  • Após as 14h: o expediente volta ao normal.

Nas empresas privadas, o funcionamento depende das políticas internas ou acordos coletivos de trabalho, mas muitas também adotam essa prática.  

Aprendendo ECONOMIA com professorES

 


Aqui está a imagem que representa o tema "Como se beneficiar do aumento da SELIC". Ela incorpora elementos financeiros e de crescimento para simbolizar estratégias de investimento, com um toque visual relacionado ao Brasil.

COMO SE BENEFICIAR DO AUMENTO DA SELIC! - Live do Bastter

00:00:00 - 01:00:00

In the video "COMO SE BENEFICIAR DO AUMENTO DA SELIC! - Live do Bastter," the speaker emphasizes the necessity of a rational mindset when investing, particularly in the context of Brazil's high inflation and risk environment. He critiques emotional reactions driven by media and analysts, advocating for a fundamental understanding of investment principles such as the relationship between nominal and real interest rates, inflation, and taxation. The discourse covers the significance of diversifying portfolios beyond fixed income and the importance of not engaging in short-term trading strategies that can lead to losses. By assessing investment risks critically, especially in government bonds like Tesouro Direto , the speaker warns against chasing high yields without proper comprehension of financial instruments and the broader economic landscape. He underscores a disciplined approach to investment, characterized by consistent contributions and education, while navigating the complexities posed by market fluctuations and government policies. 

Aqui está a imagem que representa as reações emocionais influenciadas pela mídia e analistas, destacando a importância de entender os princípios fundamentais do investimento. Ela visualiza conceitos como taxas de juros, inflação, diversificação e os riscos de estratégias de curto prazo.


00:00:00 - 01:00:00

No vídeo "COMO SE BENEFICIAR DO AUMENTO DA SELIC! - Live do Bastter", o palestrante enfatiza a necessidade de uma mentalidade racional ao investir, principalmente no contexto da alta inflação e do ambiente de risco do Brasil. Ele critica as reações emocionais impulsionadas pela mídia e analistas, defendendo uma compreensão fundamental dos princípios de investimento, como a relação entre taxas de juros nominais e reais, inflação e tributação. O discurso abrange a importância de diversificar portfólios além da renda fixa e a importância de não se envolver em estratégias de negociação de curto prazo que podem levar a perdas. Ao avaliar os riscos de investimento criticamente, especialmente em títulos do governo como o Tesouro Direto, o palestrante alerta contra a busca por altos rendimentos sem a compreensão adequada dos instrumentos financeiros e do cenário econômico mais amplo. Ele ressalta uma abordagem disciplinada ao investimento, caracterizada por contribuições e educação consistentes, ao mesmo tempo em que navega pelas complexidades impostas pelas flutuações do mercado e políticas governamentais.


Aqui imagem focada no tema "Riscos no Investimento", destacando os perigos de decisões emocionais ou mal-informadas. Vou criar agora a imagem sobre os ganhos.




Projeto Integrador Tradisciplinar em Inteligência Artificial - Turma_001

Qual situação-problema você escolheu para criar o seu projeto de intervenção?





 Situação-problema 1

Uma empresa de logística especializada em entregas rápidas está enfrentando desafios no gerenciamento eficiente de sua frota de veículos. Para resolver esse problema, eles decidiram adotar uma abordagem baseada em dados e estão buscando realizar uma análise descritiva sobre uma grande massa de dados coletados de sua frota de veículos. É claro que chamaram seu melhor analista para essa missão. O objetivo é identificar padrões, tendências e fatores que afetam o desempenho da frota, a fim de otimizar a eficiência operacional, reduzir custos e melhorar a satisfação dos clientes.



 Situação-Problema Escolhida

Gestão eficiente da frota de veículos de uma empresa de logística especializada em entregas rápidas.


Objetivo

O objetivo deste projeto é identificar padrões, tendências e fatores que impactam o desempenho da frota de veículos. A meta é otimizar a eficiência operacional, reduzir custos e aumentar a satisfação dos clientes por meio de uma análise descritiva baseada em dados históricos.


Revisão de Conceito

A análise de dados descritiva é uma etapa essencial para compreender o comportamento de variáveis e padrões em grandes conjuntos de dados. Utilizando bibliotecas como Pandas e Matplotlib, é possível realizar estatísticas básicas, identificar tendências e criar visualizações úteis. Neste contexto, a gestão eficiente de frota depende de métricas como tempo de viagem, consumo de combustível e feedback dos clientes.


Metodologia

1. Coleta de Dados:

Importação de dados de um arquivo CSV contendo informações sobre entregas realizadas, incluindo tempo de viagem, velocidade média, consumo de combustível e feedback dos clientes.

2. Preparação dos Dados:

Tratamento de dados ausentes, padronização e limpeza para assegurar consistência e qualidade no processo analítico.

3. Análise Descritiva:

Cálculo de estatísticas descritivas (média, mediana, desvio padrão) para identificar comportamentos gerais.

Identificação de tendências ao longo do tempo (por exemplo, tempo médio de viagem por dia).

4. Visualização:

Criação de gráficos de barras, linhas, histogramas e box plots para ilustrar os insights.

5. Discussão e Propostas:


Identificação dos veículos e motoristas mais eficientes.

Sugestões para otimizar rotas, horários de operação e políticas de incentivo para melhorar o desempenho.


Tempo

O projeto será desenvolvido em três semanas, divididas da seguinte forma:


Semana 1: Coleta e preparação de dados.

Semana 2: Análise descritiva e criação de visualizações.

Semana 3: Discussão, conclusão e documentação dos resultados.

Procedimento e Material Utilizado


Material:


Arquivo CSV contendo os dados históricos da frota.

Ambiente Python com bibliotecas Pandas e Matplotlib.

IDE: Jupyter Notebook ou similar.


Procedimentos:


Importar os dados para o Python.

Limpar e tratar os dados para padronização.


import pandas as pd

import io


# Criar um DataFrame a partir da string

data_string = """

D,data,tempo_de_viagem,velocidade_média,consumo_de_combustível,carga_transportada,ID_do_motorista,feedback_do_cliente

1,2022-01-01 08:15:00,30,60,10,100,101,4.5

...

"""  # Copie e cole os dados restantes aqui

data = io.StringIO(data_string)

df = pd.read_csv(data)

df['data'] = pd.to_datetime(df['data'])



 


Realizar estatísticas descritivas.

1. Estatísticas básicas por coluna relevante:

Tempo médio de viagem.

Velocidade média por viagem.

Consumo médio de combustível.


import pandas as pd
import io



import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns



# Criar um DataFrame a partir da string
data_string = """
D,data,tempo_de_viagem,velocidade_média,consumo_de_combustível,carga_transportada,ID_do_motorista,feedback_do_cliente
1,2022-01-01 08:15:00,30,60,10,100,101,4.5
1,2022-01-01 08:15:00,30,60,10,100,101,4.5
2,2022-01-02 14:30:00,45,55,15,200,102,4.2
3,2022-01-02 10:45:00,20,40,8,50,103,4.8
4,2022-01-03 09:20:00,35,50,12,150,101,3.9
5,2022-01-04 12:10:00,50,45,18,250,104,4.6
6,2022-01-04 11:30:00,25,55,9,80,103,4.1
7,2022-01-05 16:45:00,40,40,14,180,105,3.7
8,2022-01-05 13:20:00,55,35,20,300,106,4.3
9,2022-01-06 09:30:00,30,50,10,100,102,4.5
10,2022-01-07 11:45:00,40,45,13,150,101,4.0
11,2022-01-08 09:30:00,35,55,12,120,103,4.4
12,2022-01-09 15:20:00,50,40,18,250,104,3.9
13,2022-01-10 14:10:00,30,50,10,100,102,4.5
14,2022-01-11 12:45:00,45,45,15,200,105,4.2
15,2022-01-12 10:30:00,25,60,9,80,103,4.8
16,2022-01-13 16:40:00,40,40,14,180,106,4.3
17,2022-01-14 13:15:00,55,35,20,300,107,4.7
18,2022-01-15 09:45:00,35,50,11,120,101,4.1
19,2022-01-16 11:20:00,40,45,13,150,102,4.6
20,2022-01-17 15:10:00,50,40,17,220,104,4.2
21,2022-01-18 14:00:00,30,55,10,100,103,4.7
22,2022-01-19 12:30:00,45,50,15,200,105,4.3
23,2022-01-20 10:15:00,25,60,8,80,106,4.9
24,2022-01-21 16:35:00,40,40,14,180,107,4.4
25,2022-01-22 13:10:00,55,35,19,280,108,4.1
26,2022-01-23 09:40:00,35,50,12,120,101,4.6
27,2022-01-24 11:15:00,40,45,13,150,102,4.2
28,2022-01-25 15:05:00,50,40,18,220,105,4.7
29,2022-01-26 14:00:00,30,55,10,100,103,4.3
30,2022-01-27 12:25:00,45,50,15,200,104,4.8
31,2022-01-28 10:10:00,25,60,9,80,106,4.4
32,2022-01-29 16:30:00,40,40,14,180,107,4.0
33,2022-01-30 13:05:00,55,35,19,280,108,4.6
34,2022-01-31 09:35:00,35,50,11,120,101,4.2
35,2022-02-01 11:10:00,40,45,13,150,102,4.7
36,2022-02-02 14:55:00,50,40,17,220,104,4.3
37,2022-02-03 13:50:00,30,55,10,100,103,4.8
38,2022-02-04 12:15:00,45,50,15,200,105,4.4
39,2022-02-05 16:05:00,25,60,9,80,106,4.9
40,2022-02-06 14:50:00,40,40,14,180,107,4.5
41,2022-02-07 13:25:00,55,35,19,280,108,4.1
42,2022-02-08 09:55:00,35,50,11,120,101,4.6
43,2022-02-09 11:30:00,40,45,13,150,102,4.2
44,2022-02-10 15:20:00,50,40,17,220,104,4.7
45,2022-02-11 14:15:00,30,55,10,100,103,4.3
46,2022-02-12 12:40:00,45,50,15,200,105,4.8
47,2022-02-13 16:30:00,25,60,9,80,106,4.4
48,2022-02-14 14:55:00,40,40,14,180,107,4.9
49,2022-02-15 13:50:00,55,35,19,280,108,4.5
50,2022-02-16 10:25:00,35,50,11,120,101,4.1
51,2022-02-17 12:00:00,40,45,13,150,102,4.6
52,2022-02-18 15:50:00,50,40,17,220,104,4.2
53,2022-02-19 14:45:00,30,55,10,100,103,4.7
54,2022-02-20 13:10:00,45,50,15,200,105,4.3
55,2022-02-21 17:00:00,25,60,9,80,106,4.8
56,2022-02-22 15:45:00,40,40,14,180,107,4.4
57,2022-02-23 14:40:00,55,35,19,280,108,4.9
58,2022-02-24 11:15:00,35,50,11,120,101,4.5
59,2022-02-25 12:50:00,40,45,13,150,102,4.1
60,2022-02-26 16:40:00,50,40,17,220,104,4.6
61,2022-02-27 15:35:00,30,55,10,100,103,4.2
62,2022-02-28 14:00:00,45,50,15,200,105,4.7
63,2022-03-01 17:50:00,25,60,9,80,106,4.3
64,2022-03-02 16:35:00,40,40,14,180,107,4.8
65,2022-03-03 15:30:00,55,35,19,280,108,4.4
66,2022-03-04 12:05:00,35,50,11,120,101,4.9
67,2022-03-05 13:40:00,40,45,13,150,102,4.5
68,2022-03-06 17:30:00,50,40,17,220,104,4.1
69,2022-03-07 16:25:00,30,55,10,100,103,4.6
70,2022-03-08 14:50:00,45,50,15,200,105,4.2
71,2022-03-09 18:40:00,25,60,9,80,106,4.7
72,2022-03-10 17:35:00,40,40,14,180,107,4.3
73,2022-03-11 16:30:00,55,35,19,280,108,4.8
74,2022-03-12 13:05:00,35,50,11,120,101,4.4
75,2022-03-13 14:40:00,40,45,13,150,102,4.9
76,2022-03-14 18:30:00,50,40,17,220,104,4.5
77,2022-03-15 17:25:00,30,55,10,100,103,4.1
78,2022-03-16 15:50:00,45,50,15,200,105,4.6
79,2022-03-17 19:40:00,25,60,9,80,106,4.2
80,2022-03-18 18:35:00,40,40,14,180,107,4.7
81,2022-03-19 17:30:00,55,35,19,280,108,4.3
82,2022-03-20 14:05:00,35,50,11,120,101,4.8
83,2022-03-21 15:40:00,40,45,13,150,102,4.4
84,2022-03-22 19:30:00,50,40,17,220,104,4.9
85,2022-03-23 18:25:00,30,55,10,100,103,4.5
86,2022-03-24 16:50:00,45,50,15,200,105,4.1
87,2022-03-25 20:40:00,25,60,9,80,106,4.6
88,2022-03-26 19:35:00,40,40,14,180,107,4.2
89,2022-03-27 18:30:00,55,35,19,280,108,4.7
90,2022-03-28 15:05:00,35,50,11,120,101,4.3
91,2022-03-29 16:40:00,40,45,13,150,102,4.8
92,2022-03-30 20:30:00,50,40,17,220,104,4.4
93,2022-03-31 19:25:00,30,55,10,100,103,4.9
94,2022-04-01 17:50:00,45,50,15,200,105,4.5
95,2022-04-02 21:40:00,25,60,9,80,106,4.1
96,2022-04-03 20:35:00,40,40,14,180,107,4.6
97,2022-04-04 19:30:00,55,35,19,280,108,4.2
98,2022-04-05 16:05:00,35,50,11,120,101,4.7
99,2022-04-06 17:40:00,40,45,13,150,102,4.3
100,2022-04-07 21:30:00,50,40,17,220,104,4.8
"""
data = io.StringIO(data_string)
df = pd.read_csv(data)
df['data'] = pd.to_datetime(df['data'])
print(df)


# Verificar informações sobre o DataFrame
print(df.info())


# Verificar a quantidade de valores NaN em cada coluna
print(df.isnull().sum())


# Assumindo que você já tratou os valores NaN e os tipos de dados
# Calcular a matriz de correlação
correlation_matrix = df[['velocidade_média', 'consumo_de_combustível']].corr()


# Verificar se a matriz de correlação tem algum valor
if not correlation_matrix.empty:
    # Visualizar a matriz de correlação
    sns.heatmap(correlation_matrix, annot=True)
    plt.show()
else:
    print("Não foi possível calcular a matriz de correlação. Verifique os dados.")


# Histograma da velocidade média
plt.hist(df['velocidade_média'], bins=20)
plt.xlabel('Velocidade Média')
plt.ylabel('Frequência')
plt.show()


# Boxplot do consumo de combustível
sns.boxplot(x=df['consumo_de_combustível'])
plt.show()


# Scatter plot de velocidade média vs. consumo de combustível
sns.scatterplot(x='velocidade_média', y='consumo_de_combustível', data=df)
plt.show()


# Matriz de correlação completa
corr_matrix = df.corr()
sns.heatmap(corr_matrix, annot=True)
plt.show()


# Agrupando por motorista e calculando a média do feedback
feedback_por_motorista = df.groupby('ID_do_motorista')['feedback_do_cliente'].mean()
print(feedback_por_motorista)


# Identificando outliers no consumo de combustível (exemplo)
Q1 = df['consumo_de_combustível'].quantile(0.25)
Q3 = df['consumo_de_combustível'].quantile(0.75)
IQR = Q3 - Q1
outliers = df[(df['consumo_de_combustível'] < Q1 - 1.5*IQR) | (df['consumo_de_combustível'] > Q3 + 1.5*IQR)]
print(outliers)


  D                data  tempo_de_viagem  velocidade_média  \
0      1 2022-01-01 08:15:00               30                60   
1      1 2022-01-01 08:15:00               30                60   
2      2 2022-01-02 14:30:00               45                55   
3      3 2022-01-02 10:45:00               20                40   
4      4 2022-01-03 09:20:00               35                50   
..   ...                 ...              ...               ...   
96    96 2022-04-03 20:35:00               40                40   
97    97 2022-04-04 19:30:00               55                35   
98    98 2022-04-05 16:05:00               35                50   
99    99 2022-04-06 17:40:00               40                45   
100  100 2022-04-07 21:30:00               50                40   

     consumo_de_combustível  carga_transportada  ID_do_motorista  \
0                        10                 100              101   
1                        10                 100              101   
2                        15                 200              102   
3                         8                  50              103   
4                        12                 150              101   
..                      ...                 ...              ...   
96                       14                 180              107   
97                       19                 280              108   
98                       11                 120              101   
99                       13                 150              102   
100                      17                 220              104   

     feedback_do_cliente  
0                    4.5  
1                    4.5  
2                    4.2  
3                    4.8  
4                    3.9  
..                   ...  
96                   4.6  
97                   4.2  
98                   4.7  
99                   4.3  
100                  4.8  

[101 rows x 8 columns]
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 101 entries, 0 to 100
Data columns (total 8 columns):
 #   Column                  Non-Null Count  Dtype         
---  ------                  --------------  -----         
 0   D                       101 non-null    int64         
 1   data                    101 non-null    datetime64[ns]
 2   tempo_de_viagem         101 non-null    int64         
 3   velocidade_média        101 non-null    int64         
 4   consumo_de_combustível  101 non-null    int64         
 5   carga_transportada      101 non-null    int64         
 6   ID_do_motorista         101 non-null    int64         
 7   feedback_do_cliente     101 non-null    float64       
dtypes: datetime64[ns](1), float64(1), int64(6)
memory usage: 6.4 KB
None
D                         0
data                      0
tempo_de_viagem           0
velocidade_média          0
consumo_de_combustível    0
carga_transportada        0
ID_do_motorista           0
feedback_do_cliente       0
dtype: int64
ID_do_motorista
101    4.406667
102    4.464286
103    4.514286
104    4.461538
105    4.375000
106    4.491667
107    4.500000
108    4.460000
Name: feedback_do_cliente, dtype: float64
Empty DataFrame
Columns: [D, data, tempo_de_viagem, velocidade_média, consumo_de_combustível, carga_transportada, ID_do_motorista, feedback_do_cliente]
Index: []


# Agrupar por hora e contar o número de viagens
df['data'] = pd.to_datetime(df['data'], format='%Y-%m-%d %H:%M:%S')
# Verificando os tipos de dados
print(df.dtypes)

# Criando a coluna 'hora' (se ainda não existir)
df['hora'] = df['data'].dt.hour

# Contando ocorrências por hora e filtrando os horários de pico (opcional)
horas_pico = df['hora'].value_counts()
horas_pico_entre_17_20 = df[df['hora'].isin(range(17, 21))]['hora'].value_counts()

# Plotando o gráfico de barras
horas_pico.sort_index().plot(kind='bar', figsize=(10, 6), color='blue')
plt.title('Distribuição de Entregas por Hora do Dia')
plt.xlabel('Hora do Dia')
plt.ylabel('Quantidade de Entregas')
plt.xticks(rotation=45)  # Rotacionando os rótulos do eixo x para melhor visualização
plt.show()

# Plotando o gráfico de barras para as horas entre 17h e 20h (opcional)
horas_pico_entre_17_20.plot(kind='bar', figsize=(8, 4), color='green')
plt.title('Distribuição de Entregas entre 17h e 20h')
plt.xlabel('Hora do Dia')
plt.ylabel('Quantidade de Entregas')
plt.show()


D                                  int64
data                      datetime64[ns]
tempo_de_viagem                    int64
velocidade_média                   int64
consumo_de_combustível             int64
carga_transportada                 int64
ID_do_motorista                    int64
feedback_do_cliente              float64
dtype: object


# Convertendo a coluna 'data' para datetime
df['data'] = pd.to_datetime(df['data'], format='%Y-%m-%d %H:%M:%S')

# Criando a coluna 'hora'
df['hora'] = df['data'].dt.hour

# Agrupando por hora e calculando estatísticas
agrupado_por_hora = df.groupby('hora')['hora'].count()
estatisticas = agrupado_por_hora.describe()
print(estatisticas)

# Plotando o gráfico de linha
agrupado_por_hora.plot(kind='line', figsize=(10, 6))
plt.title('Tendência de Entregas por Hora do Dia')
plt.xlabel('Hora do Dia')
plt.ylabel('Quantidade de Entregas')
plt.show()

# Plotando um boxplot para visualizar a distribuição das entregas por hora
sns.boxplot(x='hora', y='hora', data=df)
plt.title('Distribuição das Entregas por Hora')
plt.xlabel('Hora do Dia')
plt.ylabel('Quantidade de Entregas')
plt.show()


count    14.000000
mean      7.214286
std       3.846648
min       2.000000
25%       5.000000
50%       7.000000
75%       9.750000
max      14.000000
Name: hora, dtype: float64


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# Assuming you have a DataFrame named 'df'

# Handle missing values
df.fillna(df.mean(), inplace=True)  # Replace with more sophisticated methods

# Detect outliers using IQR
Q1 = df['consumo_de_combustível'].quantile(0.25)
Q3 = df['consumo_de_combustível'].quantile(0.75)
IQR = Q3 - Q1
df = df[~((df['consumo_de_combustível'] < (Q1 - 1.5 * IQR)) |
          (df['consumo_de_combustível'] > (Q3 + 1.5 * IQR)))]

# Create a new feature: distance traveled
df['distance'] = df['velocidade_média'] * df['tempo_de_viagem']

# Group by driver and calculate average feedback
feedback_by_driver = df.groupby('ID_do_motorista')['feedback_do_cliente'].mean()

# Visualize correlation matrix
sns.heatmap(df.corr(), annot=True)
plt.show()

# Create a scatter plot with hue for driver
sns.scatterplot(x='velocidade_média', y='consumo_de_combustível', hue='ID_do_motorista', data=df)
plt.show()