python代码修改 data.loc[i, 6] = data.loc[i,6]+'3-2'


def myflag(path1,path2):
    data = pd.read_csv(path1)
    for i in range(data.shape[0]):
        b1 = math.cos(data.iloc[i,4])
        b2 = 1.5*1361*(b1**1.2)+100
        b3 = 0.95*1361*(b1**1.2)+50
        b4 = 1.2*1361*(b1**1.2)+50
        b5 = 0.95*1361*(b1**1.2)+10
        b6 = 0.75*1361*(b1**1.2)+30
        b7 = float(data.iloc[i, 2])+float(data.iloc[i, 1])*b1
        b8 = float(data.iloc[i, 0])/b7
        if float(data.iloc[i, 0])<-4 and float(data.iloc[i, 0])>b2:
            data.loc[i, 6]= '1-1'
        if float(data.iloc[i, 1]) < -4 and float(data.iloc[i, 1]) > 1361:
            data.loc[i, 6] = '1-2'
        if float(data.iloc[i, 2]) < -4 and float(data.iloc[i, 2]) > b3:
            data.loc[i, 6] = '1-3'
        if float(data.iloc[i, 3]) < 40 and float(data.iloc[i, 3]) > 700:
            data.loc[i, 6] = '1-4'
        if float(data.iloc[i, 0]) < -2 and float(data.iloc[i, 0]) > b4:
            data.loc[i, 6] = str(data.loc[6])+','+'2-1'
        if float(data.iloc[i, 1]) < -2 and float(data.iloc[i, 1]) > b5:
            data.loc[i, 6] = '2-2'
        if float(data.iloc[i, 2]) < -2 and float(data.iloc[i, 2]) > b6:
            data.loc[i, 6] ='2-3'
        if float(data.iloc[i, 3]) < 60 and float(data.iloc[i, 3]) > 500:
            data.loc[i, 6] = '2-4'
        if float(data.iloc[i,4]) < 75:
            if b8<0.92 and b8>1.08:
                data.loc[i,6] = '3-1'
        if float(data.iloc[i, 4]) > 75:
            if b8 < 0.85 and b8 > 1.15:
                data.loc[i, 6] = '3-1'
        if float(data.iloc[i, 0]) != 0:
            b9 = float(data.iloc[i, 2]) / float(data.iloc[i, 0])
            if float(data.iloc[i, 4]) < 75:
                if b9 > 1.05:
                    data.loc[i, 6] = '3-2'
            if data.iloc[i, 4] > 75:
                if b9 > 1.1:
                    data.loc[i, 6] = '3-2'
        b10 = 5.6696 * (10 ** (-8)) * float(data.iloc[i, 5])
        b11 = 0.4 * b10
        b12 = b10 + 25
        if float(data.iloc[i, 3]) < b11 and float(data.iloc[i, 3]) > b12:
            data.loc[i, 6] = '3-3'
    data.to_csv(path2)

生成的csv文件第六列全是3-2,我猜想原先赋值的1-1,1-2这些可能被3-2覆盖了
data.loc[i, 6] = data.loc[i,6]+'3-2' 这样写发现会报错,请问应该怎么改啊?

“Devil组”引证GPT后的撰写:
不太现实。
不能在字符串和整数之间进行加法运算。取而代之的是,要将两个字符串合并成一个新字符串。使用字符串连接操作符“+”即可完成这个任务。

请使用以下代码来更正这个问题:

data.loc[i, 6] = data.loc[i, 6] + ',3-2'


这将把字符串“3-2”添加到第6列中已有的字符串的末尾。