Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从Panda数据帧获取X Y值_Python_Pandas - Fatal编程技术网

Python 从Panda数据帧获取X Y值

Python 从Panda数据帧获取X Y值,python,pandas,Python,Pandas,我试图让这个数据框吐出“x”值和“y”值,我完全被卡住了。我不知道该怎么做,最终的目标是让它在一张图上画出X和Y的值,我只是不知道该怎么提取这些值。当我使用iloc尝试获取这些信息时,我得到了索引,虽然这不一定是一个问题,但它只是增加了我的总体困惑。这是我的一个文件,如果能提供一个解决方案或解释,我将不胜感激。我越来越困惑自己。非常感谢 编辑:我得到了更好的澄清,并意识到在这个示例中,月份是x,平均值是y。所以我知道我可以使用data.iloc一个接一个地获取这些值,但是有没有一种方法可以将其添

我试图让这个数据框吐出“x”值和“y”值,我完全被卡住了。我不知道该怎么做,最终的目标是让它在一张图上画出X和Y的值,我只是不知道该怎么提取这些值。当我使用iloc尝试获取这些信息时,我得到了索引,虽然这不一定是一个问题,但它只是增加了我的总体困惑。这是我的一个文件,如果能提供一个解决方案或解释,我将不胜感激。我越来越困惑自己。非常感谢

编辑:我得到了更好的澄清,并意识到在这个示例中,月份是x,平均值是y。所以我知道我可以使用data.iloc一个接一个地获取这些值,但是有没有一种方法可以将其添加到for循环中,例如,一个接一个地迭代所有的值,然后将它们全部绘制在一个图上?我想不出实现这一目标的最佳方法

from flask import render_template, request, redirect
from app import app
import os
import csv
import pandas as pd

@app.route('/', methods=["GET", "POST"])
def index():
    data = []
    if request.method == 'POST':
        if request.files:
            uploaded_file = request.files['filename']
            filepath = os.path.join(app.config['FILE_UPLOADS'], uploaded_file.filename)
            uploaded_file.save(filepath)
            with open(filepath) as file:
                csv_file = csv.reader(file)
                for row in csv_file:
                    data.append(row)
            data = pd.DataFrame(data)
            print(data)
            return render_template('index.html', tables=[data.to_html(classes='data')], titles=data.columns.values, header=False, index=False)
    return render_template('index.html', data=data)


@app.route('/help')
def help():
    return render_template('help.html')

app.config['FILE_UPLOADS'] = "C:\\Users\\Zachary\\Documents\\VSCode_Projects\\monday_webapp\\app\\static\\file\\uploads"
这是我正在使用的CSV示例

"Month", "Average"
"May",  0.1
"Jun",  0.5
"Jul",  0.7
"Aug",  2.3
"Sep",  3.5
"Oct",  2.0
"Nov",  0.5
"Dec",  0.0

您可以这样做:

x= df["month"]
y=df["average"]

plt.plot(x,y)

我想出的解决办法是

d_list = list(data.columns.values)

        x_label = d_list[0]
        y_label = d_list[1]
这允许我进行plt.plot(数据[x_标签]、数据[y_标签])
我基本上是将列名转换成一个列表,然后取出第一个和第二个字符串,并将其应用到我的数据帧中。

在您的示例中,“X”和“Y”是什么?老实说,这确实让我感到困惑,我被告知要制作一个程序,将CSV作为输入,然后绘制X和Y值。我假设这个月的名字是x,其他的值是y,我想把它们做成一个单线图和多线图,一个条形图和一个叠层条形图你的图形库是什么?查特斯?我使用flask应用程序,我使用jQuery处理AJAX请求,然后创建chartjs graphsI。我可能会使用pyplot,因为我以前使用过它,而且我运行的是python后端,我可以使用类似的东西,但我计划在我脑海中浏览该程序时使用pyplot。你认为哪一个是更好的选择?问题是,这是特定于此CSV文件的,它需要在一般意义上应用,以便它可以在任何2列CSV文件中工作,这是我遇到的问题。我尝试使用iloc,但一直出现一个关键错误