AttributeError: 'DataFrame' 对象没有属性 'set_value'

NAV*_*DDY 9 python flask

我正在使用烧瓶并在 set_values 处出错。我正在从 html 读取输入并将其传递给代码

@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)
Run Code Online (Sandbox Code Playgroud)

小智 20

检查您的熊猫版本。

df.set_value()自熊猫版本 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
Run Code Online (Sandbox Code Playgroud)