本文介绍了AttributeError:"DataFrame"对象没有属性"set_value"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用flask并在set_values处出错.我正在读取html的输入并将其传递给代码

I'm using flask and getting error at set_values. I'm reading the input from html and passing it to the code

@app.route('/home', methods=['POST'])
def first():
    source = request.files['first']
    destination = request.files['second']
    df = pd.read_csv(source)
    df1 = pd.read_csv(destination)
    val1 = int(request.form['val1'])
    val2 = int(request.form['val2'])
    val3 = int(request.form['val3'])
    target = request.form['str']
    df2 = df[df.columns[val2]]
    count = 0
    for j in df[df.columns[val1]]:
        x = df1.loc[df1[df1.columns[val3]] == j].index.values
        for i in x:
            df1.set_value(i, target, df2[count])
        count = count + 1
    df1.to_csv('result.csv', index=False)

推荐答案

检查您的熊猫版本.

df.set_value() 从pandas版本0.21.0起已被弃用

df.set_value() is deprecated since pandas version 0.21.0

请改为使用 df.at

import pandas as pd

df = pd.DataFrame({"A":[1, 5, 3, 4, 2],
                   "B":[3, 2, 4, 3, 4],
                   "C":[2, 2, 7, 3, 4],
                   "D":[4, 3, 6, 12, 7]})

df.at[2,'B']=100

   A    B  C   D
0  1    3  2   4
1  5    2  2   3
2  3  100  7   6
3  4    3  3  12
4  2    4  4   7

这篇关于AttributeError:"DataFrame"对象没有属性"set_value"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-11 20:51