5
respostas

Aula 3: código não funciona se usar: colunas = ['tamanho','preco'] df = df['colunas']

Olá, Estou tentando rodar a api de custo de casas da aula 3 mas aparece o seguinte erro :

File "main2.py", line 9, in df = df['colunas'] File "C:\Users\braelvj1\Anaconda4\lib\site-packages\pandas\core\frame.py", line 2800, in getitem indexer = self.columns.get_loc(key) File "C:\Users\braelvj1\Anaconda4\lib\site-packages\pandas\core\indexes\base.py", line 2648, in get_loc return self.engine.getloc(self.maybecast_indexer(key)) File "pandas_libs\index.pyx", line 111, in pandas.libs.index.IndexEngine.getloc File "pandas_libs\index.pyx", line 138, in pandas.libs.index.IndexEngine.getloc File "pandas_libs\hashtable_class_helper.pxi", line 1619, in pandas.libs.hashtable.PyObjectHashTable.getitem File "pandas_libs\

Quando eu comento as linhas que selecionam as colunas a única coisa que roda é a 'minha primeira api'. Também não consegui rodar a api de análise de sentimentos.

Poderiam me ajudar? Desde já obrigada.

5 respostas

Olá Mariana,

acredito que na linha df = df['colunas'] você colocou aspas quando tentou referenciar a variável colunas. O correto seria df[colunas].

Obrigada, isso estava errado mesmo e agora parou de aparecer o erro, mas a pagina nao abre. Aparece a mensagem: 'this site cant be reached.

Segue o codigo que tentei rodar:

import pandas as pd 
df = pd.read_csv('casas.csv')

colunas = ['tamanho', 'preco']
df = df[colunas]

X = df.drop('preco', axis=1)
y = df['preco']

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

modelo = LinearRegression()
modelo.fit(X_train, y_train)


app = Flask(__name__)

@app.route('/')
def home():
    return 'Minha primeira api'

@app.route('/sentimento/<frase>')
def sentimento(frase):
    tb = TextBlob(frase)
    tb_en = tb.translate(to='en')
    polaridade = tb_en.sentiment.polarity
    return "polaridade: {}".format(polaridade)

@app.route('/cotacao/<int:tamanho>')
def cotacao(tamanho):
    preco = modelo.predict([[tamanho]])
    return str(preco)

app.run(debug=True)

Olá Mariana,

Qual endereço você tentou abrir?

Tentei abrir o http://127.0.0.1:5000/

Ele nao mostra a api sentimento, tentei o metodo get no postman e tambem deu erro. Entao continuei a aula e tentei fazer a api de precos de casas mas tambem tenho o mesmo erro.

Olá Mariana,

poderia mandar aqui qual o erro que aparece quando você tenta abrir o endereço, e também qual o retorno do terminal quando você roda o comando para executar a API?