Wilson Avila
-
Total de itens
23 -
Registro em
-
Última visita
Posts postados por Wilson Avila
-
-
Vou ter que deixar as horas do gráfico em pé e não deitadas!! Onde posso achar? São os valores em x?
-
40 minutos atrás, ArteEN disse:
você pode fazer um input no terminal, e adicionar em qualquer lugar no grafico com
texto = input() plt.text(x, y, f'{texto}:00hrs')
claro que você tem que levar em conta que isso deve ser feito antes de aparecer a janela do grafico, pois aqui comigo, a janela do grafico trava a entrada do terminal
Está assim! Que hora pretende passar pela Free Way?__:00 horas 23 , tem como preencher a hora no lugar dos traços e não depois como está?
-
3 minutos atrás, ArteEN disse:
isso é só mais um plt.text no grafico, ou você pode alterar o titulo do grafico
Não me fiz entender!! No caso a entrada de dados via input, só completar algo já escrito, como pedir hora e induzir que seja hora fechada tipo __:00h. Lembro de ter visto algo parecido em C++, mas não achei nada...
-
12 horas atrás, ArteEN disse:
ax.legend().remove()
Esse funcionou! tinha testado todos que achei!
Tem como o dado digitado aparecer dentro da impressão? EX:
int(input('Que hora pretende passar pela Free Way?__:00 horas ')
-
Em alguns casos a legenda atrapalha e como ela não é necessária, preciso tira-la.
plt.legend = None não funcionou nem
chart.legend = None
-
-
1 hora atrás, ArteEN disse:
tem, para grafico com barra só usar
ax = media.mean().plot.bar()
para colocar os numeros vai ser um pouco mais complicado, veja este video
d5 = df[label[3]]==5 media = df[d5].loc[:, (label[0], label[4])].groupby(label[4]) for barra in (d5,media): for b in barra.get_media: plt.text(b.get_x() + 0.3, b.get_height()+ 0.2, int (b.get_height()))
Desculpe incomodar novamente, mas o segundo for está dando erro!!
-
4 horas atrás, ArteEN disse:
deu um trabalhinho chegar nisso aqui
import pandas as pd import numpy as np import matplotlib.pyplot as plt label = ['velocidade', 'classe', 'Faixa', 'dia' , 'hora'] data = [ [106, 1, 2, 5, 0], [87, 1, 3, 5, 0], [78, 1, 3, 5, 1], [74, 1, 3, 5, 1], [75, 1, 3, 5, 1], [88, 1, 2, 5, 2], [130, 1, 2, 5, 2], [76, 1, 2, 5, 3], [77, 1, 3, 5, 3] ] df = pd.DataFrame(data, columns=label) d5 = df[label[3]]==5 media = df[d5].loc[:, (label[0], label[4])].groupby(label[4]) ax = media.mean().plot() plt.xticks(range(4), range(4)) plt.show()
Deixei assim!! São 952mil linhas para tratar!!
mport pandas as pd import numpy as np import matplotlib.pyplot as plt pd.read_csv df = pd.read_csv("transito8.csv") label = ['velocidade', 'classe', 'Faixa', 'dia' , 'hora'] d5 = df[label[3]]==5 media = df[d5].loc[:, (label[0], label[4])].groupby(label[4]) ax = media.mean().plot() plt.title('Velocidade Média do Dia') plt.xticks(range(24), range(24)) plt.show()
Ficou show!!
Tem como ficar em barras e o valor aparecer no topo delas?
-
15 minutos atrás, ArteEN disse:
coloque pelo menos 5 linhas do seu dataframe para dar uma olhada
velocidade,classe,Faixa,dia,hora 106,1,2,5,0 87,1,3,5,0 78,1,3,5,0 74,1,3,5,0 75,1,3,5,0 88,1,2,5,0 130,1,2,5,0 76,1,2,5,0 77,1,3,5,0
-
Em 07/11/2019 em 23:54, Wilson Avila disse:
aux = df[df["dia"] == 5] aux1 = df[df["hora"]==23]
Assim consigo separar os dias e horas, mas não consigo achar uma forma de separar as 23 horas dos dias 5!!!
Acertei!!
aux = df[(df["dia"] == 5 ) & (df["hora"] == 23)]
a velocidade media ficou assim
print(aux.mean()["velocidade"])
Como posso criar um gráfico de velocidade média te todo o dia, por hora? Testei muita coisa mas sempre inverte a lista toda e não só o dia que foi escolhido!
-
aux = df[df["dia"] == 5] aux1 = df[df["hora"]==23]
Assim consigo separar os dias e horas, mas não consigo achar uma forma de separar as 23 horas dos dias 5!!!
Acertei!!
aux = df[(df["dia"] == 5 ) & (df["hora"] == 23)]
a velocidade media ficou assim
print(aux.mean()["velocidade"])
-
28 minutos atrás, ArteEN disse:
sendo sincero não sei onde esta o erro, para ajudar você pode evitar resolver o problema em uma unica linha, e dividir em variaveis para encontrar onde esta o erro
dia = df.loc[(df['dia'])==('2')] hora = df.loc[(df['hora'])==('23')] velocidade_media = (dia & hora).mean()['velocidade']
desse jeito fica mais facil apontar onde deve ser aterado
a ideia é ter um comando por linha, então se ainda não consegir identificar onde esta o problema com as tres linhas a cima, você pode separar mais os comando em 5 linhas
dia = df['dia'] dia2 = df.loc[dia==('2')] hora = df['hora'] hora2 = df.loc[hora==('23')] velocidade_media = (dia2 & hora2).mean() velocidade_media2 = velocidade_media['velocidade']
Não apontou nenhum erro!!
C:\Users\wabro\PycharmProjects\trabalho transito\venv\lib\site-packages\pandas\core\ops\__init__.py:1115: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
result = method(y)
nan
-
Boa noite!
O que pode estar errado?
velocidade_media =(((df.loc[(df['dia'])==('2')]) & (df.loc[(df['hora'])==('23')])).mean()['velocidade'])
print(velocidade_media)
mensagem:
"C:\Users\wabro\PycharmProjects\trabalho transito\venv\Scripts\python.exe" "D:/PycharmProjects/untitled/teste pandas 07 nov.py"
C:\Users\wabro\PycharmProjects\trabalho transito\venv\lib\site-packages\pandas\core\ops\__init__.py:1115: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
result = method(y)
nanProcess finished with exit code 0
Em 06/11/2019 em 11:17, ArteEN disse:não funcionou comigo, mas você pode tentar ai
O brigado!
Já consegui assim!!
mngr = plt.get_current_fig_manager() mngr.window.geometry("400x400+950+0") plt.show()
A janela ficou com 400X400 na posição 950 em x e 0 em y. No canto superior direito.
-
6 minutos atrás, ArteEN disse:
bom que deu certo
A janela que o gráfico aparece pode ser posicionada?
-
7 minutos atrás, ArteEN disse:
import pandas as pd import numpy as np import matplotlib.pyplot as plt tabela = [[2, 4, 2, 5], [3, 0, 5, 7], [0, 4, 2, 1], [9, 6, 9, 1]] campos = ['A', 'B', 'C', 'D'] df = pd.DataFrame(np.array(tabela), columns=campos) # df = pd.read_csv("transito7.csv") coluna_filtrada = df.loc[:, 'A'] ax = coluna_filtrada.plot() ax.set_position([.3, .3, .6, .6]) plt.show()
se baseia no codigo atualizado
resolvi assim:
df["hora"].value_counts().plot.barh().set_position([.3, .3, .6, .6])
-
9 minutos atrás, ArteEN disse:
você tem que colocar esta linha a cima do plt.show(), e a baixo do ax = coluna
A linha do gráfico que quero colocar na direita no alto é
df["hora"].value_counts().plot.barh()
o ax tem que receber o que?
-
19 minutos atrás, ArteEN disse:
ax.set_position([.3, .3, .6, .6])
só brincar com os numeros que você chega onde quer
Apareceu este erro!! NameError: name 'ax' is not defined e eu gostaria e que o quadro(janela) da figura que o gráfico esta dentro, ficasse em uma posição que poderia ver os outros dados gerados, tipo no canto superior direito e q não fosse tão grande!
-
Em 04/11/2019 em 22:29, ArteEN disse:
seu codigo esta ainda bem cru (meme do joaquim)
import pandas as pd import numpy as np import matplotlib.pyplot as plt tabela = [[2, 4, 2, 5], [3, 0, 5, 7], [0, 4, 2, 1], [9, 6, 9, 1]] campos = ['A', 'B', 'C', 'D'] df = pd.DataFrame(np.array(tabela), columns=campos) # df = pd.read_csv("transito7.csv") coluna_filtrada = df.loc[:, 'A'] ax = coluna_filtrada.plot() plt.show()
fiz o codigo em cima de uma tabela basica apenas para demonstração, deixei comentada a linha para importar seu csv, mas você tem que altera a forma de filtrar a informação de acordo com seu dataframe
Consegui fazer o gráfico aparecer! só faltava plt.show!! Ficou Show!!
Tem alguma forma de determinar a posição do gráfico na tela? Queria que aparecesse no canto superior direito.
-
Valeu!! Vou ver se roda!!
-
meu código está assim: não consegui colocar a tabela de dados transito7
import csv import pandas as pd import numpy as np import matplotlib.pyplot as plt pd.read_csv df = pd.read_csv("transito7.csv") df df.head() print(df.groupby("hora").mean()) print(df["velocidade"].plot.hist())
-
Obrigado! O pandas está ajudando muiito! Achei a biblioteca matplotlib para representação gráfica, só que não está gerando os gráficos, como eu havia lido? O q pode estar acontecendo? Está retornando AxesSubplot(0.22375,0.11;0.5775x0.77) por exemplo...
-
Sou iniciante em programação e preciso separar uma série de dados importados do Excel (csv), os mesmos estão em 4 colunas e centenas de linhas. Preciso identificar as linhas que tenham a coluna de dados em comum e separa-las em outra 'lista'. Tipo um filtro!! Para depois usar estes dados para fazer cálculos estatísticos.
Qual seria a sugestão de ferramenta ou formas de chegar a essa lista de dados?
Trabalho com dados csv
em Python
Postado
Só para dar o retorno e agradecer a atenção e ajuda. Aprendi muito!! Mais uma vez obrigado! Quem quiser os código é só chamar!!