Chicos, soy un principiante en programación y necesito desesperadamente su ayuda. Estoy tratando de desarrollar una aplicación web usando Django. He creado un formulario HTML en mi archivo index.html. En mi views.py estoy tratando de usar el fondo corr () de Pandas pero cada vez que dice Empty DataFrame

Index.html

<form id='form' name='form' method="post" action="">
        {% csrf_token %}
    <div class="row">
        <div class="form-group col-md-2">
            <label for="Col 1">col 1</label>
            <input type="text" class="form-control" id="col1" name="col1">
        </div>

        <div class="form-group col-md-2">
            <label for="Col 2">col 2</label>
            <input type="text" class="form-control" id="col2" name="col2">
        </div>
    </div>

    <div class="row">
        <div class="form-group col-md-2">
            <label for="Col 3">col 3</label>
            <input type="text" class="form-control" id="col3" name="col3">
        </div>

        <div class="form-group col-md-2">
            <label for="Col 4">col 4</label>
            <input type="text" class="form-control" id="col4" name="col4">
        </div>
    </div>

        <button class="btn btn-primary" id='predict' name='predict'>Run forecast</button> 
    </form>

Views.py

def index(request):
    if request.method == "POST":
        
        col1 = request.POST.get('col1')
        col2 = request.POST.get('col2')
        col3 = request.POST.get('col3')
        col4 = request.POST.get('col4')
        
        data = {'X':[col1, col2], 'Y':[col3, col4]}
        df = pd.DataFrame(data)
        x = df.corr()
        print(x)
        return render(request, 'corelation.html')

    else:
        return render(request,'index.html')

Cada vez que ejecuto este código, devuelve Empty DataFrame en la terminal. Sin embargo, si reemplazo col1, col2 con números reales, muestra el resultado deseado.

0
CodePak 12 mar. 2021 a las 13:51

1 respuesta

La mejor respuesta

Primero verifique que esas variables GET no estén vacías o no sean números.

Luego intente usar el método float cast como float (col1)

0
Chymdy 12 mar. 2021 a las 15:10